try语句的问题
答案:2 悬赏:20
解决时间 2021-02-01 20:23
- 提问者网友:你在我心中是最美
- 2021-02-01 11:27
假如try一段代码当捕获异常时执行function1 没有捕获异常时执行function2怎么解决呢?
最佳答案
- 二级知识专家网友:眠于流年
- 2021-02-01 12:34
try{
这段代码
function2(...);
}
catch ...
{
function1(...);
}
}
这段代码
function2(...);
}
catch ...
{
function1(...);
}
}
全部回答
- 1楼网友:强势废物
- 2021-02-01 13:44
是的,是捕获所有异常。如果代码只是你写的这样,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我
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯