在开发中经常需要写一些 try catch,不是我们有意去捕获可能存在的异常,而是 IDE 提示我们此处需要 try catch,不然编译不通过。于是我们按照 IDE 的提示写了 try catch,习惯性地也没多考虑直接在捕获体里面写了大量的逻辑交互。示例代码如下:1
try {
JSONObject json = new JSONObject();
String name = JSONObject.getString("name");
............
// do some thing
}catch(Exception e) {
e.printStack();
}
如果 name 字段不存在就会直接到 catch 中,下面所有的代码都会被跳过,如果你之后的操作需要依赖被跳过的代码,那么后果你懂得。所以尽量在 try catch 中只保留真正需要 catch 的代码,如果真的需要写在 try catch 中,请检查如果某处抛出了异常保证不影响后面的执行。