鉴于:Throwable是Exception超级.
当我编写自己的"例外"读课文,我看到的例子Throwable中所使用catch的块和其他经文显示new Exception() 在正在使用catch块.我还没有看到何时应该使用每个的解释.
我的问题是,什么时候应该Throwable使用,什么时候应该new Exception()使用?
使用以下任一内部catch或else块内:
throw throwable;
Run Code Online (Sandbox Code Playgroud)
要么
throw new Exception();
Run Code Online (Sandbox Code Playgroud) 考虑一下这段代码(特别是Java):
public int doSomething()
{
doA();
try {
doB();
} catch (MyException e) {
return ERROR;
}
doC();
return SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)
在哪里doB()定义为:
private void doB() throws MyException
Run Code Online (Sandbox Code Playgroud)
基本上,MyException仅在doB()满足某些条件的情况下存在(这不是灾难性的,但确实需要以某种方式提高这个条件),以便doSomething()知道退出时出错.
你是否发现使用异常,在这种情况下控制流量,可以接受?或者这是代码味道?如果是这样,你会如何重构这个?