我对在Exception
中使用不同的Try-Catch
术语感到困惑。在这里,使用简单的disadvantage
而不是Exception
可能是什么JSONException
?
都在这里:
简单异常
try {
//...
}catch (Exception e){
e.printStackTrace();
}
JSONException
try {
//...
}catch (JSONException e){
e.printStackTrace();
}
[Exception
是所有例外class
,IOException
,IndexOutOfBoundsException
,FileNotFoundException
,NullPointerException
等的基础JSONException
如果您使用try/catch
,如下所示:
try {
//...
}catch (Exception e){
e.printStackTrace();
}
上面提到的所有exceptions
都将被捕获,并且在任何这些例外情况下,您的catch
块都将获得executed/called
。
但是如果您使用如下所示的try/catch
:
try {
//...
}catch (JSONException e){
e.printStackTrace();
}
仅当有catch
时,您的called/executed
块才会获得JSONException
。
如果ex NullPointerException
,IndexOutOfBoundsException
等存在其他类型的异常,则不会调用您的catch
块。
希望这消除了您的疑问/问题。