在书上看到这个: catch 语句的顺序:
捕获例外的顺序和catch语句的顺序有关,当捕获到一个例外时,剩下的catch语句就不再进行匹配。因此,在安排catch语句的顺序时,首先应该捕获最特殊的例外,然后再逐渐一般化。也就是一般先安排子类,再安排父类。最后一句里说的“先安排子类,再安排父类”,指的是什么呢?谢谢!!!
捕获例外的顺序和catch语句的顺序有关,当捕获到一个例外时,剩下的catch语句就不再进行匹配。因此,在安排catch语句的顺序时,首先应该捕获最特殊的例外,然后再逐渐一般化。也就是一般先安排子类,再安排父类。最后一句里说的“先安排子类,再安排父类”,指的是什么呢?谢谢!!!
解决方案 »
- oracel安装时出现的错误
- java无限扩展
- 为什么我用BufferedWriter将字符串写入文件,却没有文件生成呢?
- 表格?
- newInstance()这个有没有 有什么影响?
- 想请问大家,为什么我的这个conn.java在执行javac conn.java时出错,说什么“SQL”不存在什么的。。。。
- [急问]java txt文件插入换行符
- [讨论]一个设计方面的问题——登陆这个动作(或叫方法)应该属于User类还是属于Application类(描述系统类)
- JAVA中如何动态存储?
- ibatis执行查询语句,可以在plsql中查询数据,但是在程序中查询不到,求大神帮忙
- 关于计算机图形学中的Mandelbrot集合,计算过程出问题。
- java的内存运作如何
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。