关于try catch语句的问题
来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/07/09 07:34:39
关于try catch语句的问题
catch
{
throw;
}
这里的catch是捕获所有异常吧?
“在 catch 块中可以使用 throw 语句再次引发已由 catch 语句捕获的异常”这句话是什么意思?为什么要再次引发呢?有什么用?
catch
{
throw;
}
这里的catch是捕获所有异常吧?
“在 catch 块中可以使用 throw 语句再次引发已由 catch 语句捕获的异常”这句话是什么意思?为什么要再次引发呢?有什么用?
![关于try catch语句的问题](/uploads/image/z/3421409-41-9.jpg?t=%E5%85%B3%E4%BA%8Etry+catch%E8%AF%AD%E5%8F%A5%E7%9A%84%E9%97%AE%E9%A2%98)
是的,是捕获所有异常.如果代码只是你写的这样,catch块里面没有其他语句,那么毫无意义,删掉你的try..catch以后程序的行为不会有任何变化.
一般来说不建议捕获所有异常,但具体情况具体分析.这样的用法可以是
catch
{
//此处做一些事情,比如记录一个错误日志.
throw;//throw的意思是将捕获的异常重新抛出,以便调用栈上其他的catch块捕获.如果没有任何代码捕获这个异常,程序将会终止,因为它不知道该如何处理这个错误,最安全的方式就是终止.
}
例如,你有类A,有一个方法Foo,显然他/她会抛出异常.
public int Foo()
{
return int.Parse("t");
}
其他方法调用了这个方法
public void Bar()
{
try
{
int i=Foo();
}
catch
{
//做一些事情
throw;
}
}
最后主函数这样写:
A a = new A();
try
{
a.Bar();
}
catch
{
//这里又捕获了Bar函数重新抛出的异常,做一些另外的事情
}
本人回答问题都是原创,绝不上网胡乱复制粘贴.有问题可以hi我
一般来说不建议捕获所有异常,但具体情况具体分析.这样的用法可以是
catch
{
//此处做一些事情,比如记录一个错误日志.
throw;//throw的意思是将捕获的异常重新抛出,以便调用栈上其他的catch块捕获.如果没有任何代码捕获这个异常,程序将会终止,因为它不知道该如何处理这个错误,最安全的方式就是终止.
}
例如,你有类A,有一个方法Foo,显然他/她会抛出异常.
public int Foo()
{
return int.Parse("t");
}
其他方法调用了这个方法
public void Bar()
{
try
{
int i=Foo();
}
catch
{
//做一些事情
throw;
}
}
最后主函数这样写:
A a = new A();
try
{
a.Bar();
}
catch
{
//这里又捕获了Bar函数重新抛出的异常,做一些另外的事情
}
本人回答问题都是原创,绝不上网胡乱复制粘贴.有问题可以hi我
关于try catch语句的问题
java的try catch语句问题
.try及catch语句的作用是什么
关于c++ 中使用try throw catch语句
c# try-catch 语句的含义和用法
29.下列关于java的try-catch-finally语句的描述中,错误的是_______.
try catch的作用
关于JAVA t中try-catch的用法?
关于try catch中catch的错误共有多少?分别是什么用途、求大神帮助
c#描述异常处理语句try、catch、finally执行时的相互关系
使用try.catch和throw语句实现求解实系数一元二次方程的实数根
C++ try catch 的用法