在书上看到这个: catch 语句的顺序:
捕获例外的顺序和catch语句的顺序有关,当捕获到一个例外时,剩下的catch语句就不再进行匹配。因此,在安排catch语句的顺序时,首先应该捕获最特殊的例外,然后再逐渐一般化。也就是一般先安排子类,再安排父类。最后一句里说的“先安排子类,再安排父类”,指的是什么呢?谢谢!!!
捕获例外的顺序和catch语句的顺序有关,当捕获到一个例外时,剩下的catch语句就不再进行匹配。因此,在安排catch语句的顺序时,首先应该捕获最特殊的例外,然后再逐渐一般化。也就是一般先安排子类,再安排父类。最后一句里说的“先安排子类,再安排父类”,指的是什么呢?谢谢!!!
catch(DataFormatException e){}
然后再
catch(Exception e){}
但是现在软件开发都是团队合作的
你自己写的那个部分可读性就差
不利于团队合作
直到处理不了的时候才会让程序退出等等先捕捉业务上的错误,然后才是系统的。比如:
try {
……
} catch (FwkDBException fwkDbExp) { //业务出错
fwkDbExp.setCallerInfo(strUserId, XXXSearch.class);
throw fwkDbExp;
} catch (FwkSystemException fwkSysExp) { /* 业务系统出错,捕捉并抛出 */
throw fwkSysExp;
} catch (AppException appExp) { /* 应用系统出错 (内部的一个包装类,包装了数据库链接、业务处理流程等等)*/
sysEx =……
throw sysEx;
} catch (Exception exp) { /* 其他的例外发生*/
sysEx =……
throw sysEx;
} finally { /* 终了处理 */
//释放链接
//不使用的变量,用null代入
}前面的都是Exception的子类,但是前面的不一定是依次继承的。
但是错误的程度依次是递增的。初学者too。