有没有可能在方法中写入catch块,并在try块中发生异常时从finally调用它
前任:
try
{
int a=0,b=0;
a=b/0;
}
finally
{
callExceptions();
}
}
public static void callExceptions()
{
catch(Exception e)
{
System.out.println(e);
}
}
3条答案
按热度按时间egdjgwm81#
使用try/catch/finally的方法
1.-当您想尝试使用某个方法时,如果一切顺利,将继续,否则将在catch块上引发一个异常。
2.-与第一个相同,但添加finally块意味着如果发生意外异常,finally块将始终独立执行。
3.-try和finally块用于确保资源关闭,而不管try语句是正常完成还是突然完成。例如:
try/catch/finally块的java参考文档
关于你的案子:
8ulbf1ek2#
catch
块必须跟在try
阻止。它不能单独存在。以及finally
块是在catch
.你一个人写了一封信
catch
内部finally
. 那没道理。最简单的解决方案是将异常作为参数传递给方法:
bttbmeg03#
这是太长的评论,所以很抱歉,这不是一个直接回答你的问题(如其他人所指出的,这是不可能的)。假设您要做的是定义一种在一个地方处理异常逻辑的通用方法,
Callable
也许是个好办法。像下面这样的东西就足够了。。。虽然我不想评论这是否是个好主意。。。不幸的是
Runnable
没有申报任何Exception
在签名上,所以如果你知道它总是需要void
你不喜欢return null;
或者类似的黑客,你必须定义你自己的接口来传递。