为什么在Java中使用不同类型的异常?
如果我的代码抛出异常,我只能捕获java中的一个异常。但是为什么我们需要单独的异常(Nullpointer、classnotfound等)?如果我们只有一个异常而不是不同类型的异常,可以吗?如果我错了,请纠正我
我关于代码的问题如下
class Test {
void method(){
try{
// some code....
}
catch(Exception e){
}
}
}
如果Java允许我捕获泛型异常,这意味着为什么我们需要不同类型的异常
# 1 楼答案
最简单的答案是:这取决于你的具体情况。假设您知道可能会遇到两种不同的异常:称它们为
FooException
和BarException
。如果您知道当遇到FooException
时,您想告诉用户,您可能想捕获该异常,向其添加一些额外的细节,然后重新浏览它。但是,如果您知道不想重新引用BarException
,那么可以定义一个单独的catch
子句来单独处理它因此,总而言之,这实际上取决于您希望如何处理异常
# 2 楼答案
因为有时候我们需要做不同的事情,有不同的例外