一:当代码中可能会遇到的异常需要用try{ }catch{Exception e}来处理,否则导致程序崩溃

try{

int i = 1/0;

}catch(Exception e){

........

}

二:不要在for循环里面嵌套try catch子句

for (int i = 0; i < array.length; i++) {

try {

.......

} catch (IOException e) {

.......

} catch (Exception e) {

.......

}

}

改成:

try {

for (int i = 0; i < array.length; i++) {

.......

}

} catch (IOException e) {

.......

} catch (Exception e) {

.......

}

三:尽可能的减少try catch子句的嵌套,会影响性能

try {

try {

.......

} catch (IOException e) {

.......

}

} catch (Exception e) {

.......

}

改成

try {

.......

}catch (IOException e) {

.......

} catch (Exception e) {

.......

}

四:同一个try子句中多个catch时,异常处理原则

当一个try块中包含众多语句,可能抛出多种不同的异常,只有通过多个catch块来捕获不同的异常。而如果两个异常存在继承关系,应该把子类异常放在你父类异常的前面来捕获,或者把最小范围异常放在最前面
,范围大的放在后面,因为是按照catch块从上往下匹配,当它匹配某一个catch块的时候,他就直接进入到这个catch块里面去了,后面在再有catch块的话,它不做任何处理,直接跳过去,全部忽略掉。如果有finally的话进入到finally里面继续执行。Exception这个异常的根类一定要刚在最后一个catch里面,如果放在前面或者中间,任何异常都会和Exception匹配的,就会报已捕获到...异常的错误。同时配合log4j使用会对程序的日后维护帮助很大。

try {

.......

}catch (IOException e) {

.......

} catch (Exception e) {

.......

}

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信