首页 > 解决方案 > try-catch 中 Exception 和 JSONException 的区别

问题描述

我对使用不同的Exception术语感到困惑Try-Catch。使用 simple而不是
可能是什么“缺点” ?ExceptionJSONException

简单异常

try {
  //...
}catch (Exception e){
    e.printStackTrace();
}

JSON异常

try {
  //...
}catch (JSONException e){
    e.printStackTrace();
}

标签: androidexception

解决方案


Exceptionclass所有异常的基础IOException, IndexOutOfBoundsException, FileNotFoundException,NullPointerExceptionJSONException

如果您使用try/catch如下所示的:

 try {
          //...
       }catch (Exception e){
                e.printStackTrace();
       }

上面提到的所有exceptions内容都将被捕获,如果出现任何这些异常,您的catch块将得到executed/called

但是如果你使用try/catch如下所示:

try {
          //...
       }catch (JSONException e){
                e.printStackTrace();
       }

只有当catch有.called/executedJSONException

如果 ex 等有任何其他类型的异常NullPointerExceptionIndexOutOfBoundsException那么您的catch块将不会被调用。

希望这可以消除您的疑问/问题。


推荐阅读