当前位置: 技术问答>java相关
看过Java 2核心技术第一卷的朋友请进,看看下面简单的几句代码啥意思?
来源: 互联网 发布时间:2015-04-10
本文导语: Graphics g=image.getGraphics(); try { code that might throw exceptions } catch(MalformedURLException e) { g.dispose(); throw e; } 请问此处throw e;是啥意思?为何要重新产生违例? | 让外面调用该方法的...
Graphics g=image.getGraphics();
try
{
code that might throw exceptions
}
catch(MalformedURLException e)
{
g.dispose();
throw e;
}
请问此处throw e;是啥意思?为何要重新产生违例?
try
{
code that might throw exceptions
}
catch(MalformedURLException e)
{
g.dispose();
throw e;
}
请问此处throw e;是啥意思?为何要重新产生违例?
|
让外面调用该方法的地方知道里面出现异常
|
上述评论非常令人信服,一句话,重新抛出异常是为了让上一层的违例控制器知道
它调用的方法出现了什麽问题,从而可以提供更加明确异常信息,否则,上层控制器only知道下层出现了异常,但具体信息是不明确的
它调用的方法出现了什麽问题,从而可以提供更加明确异常信息,否则,上层控制器only知道下层出现了异常,但具体信息是不明确的
|
将接收到的异常又抛掷出去,可能是抛给系统,也可能是抛给你另外定义的一个异常接受机制,就这么简单。
|
可能是传出到外层,也许这个方法继承了某类,需要抛出异常
|
使其他调用此方法的代码也能捕获此异常,以便得到正确处理。
|
如果你想让外部调用者知道内部有错误产生就用throw e;
如果不想传到外部就用catch()处理.
如果不想传到外部就用catch()处理.
|
同意楼上gdsean(摇滚java)
|
我也同意楼上的楼上的