[英]Monitor Multiple exception in single catch in jdk 1.6
在java中是否有任何替代方法可以在jdk1.6中使代码成为可能。 我知道在jdk 1.7中也是可能的,但我坚持使用jdk1.6。
下面的代码可以捕获多个异常,我想处理这些异常并将其添加到数据库表。 因为对于所有3个异常,我的异常处理逻辑将保持相同。 我不想为多个catch块重复相同的代码。
try{
//do somthing here
}catch(CustomException1 ex1 | CustomException2 ex2 | CustomException3 ex3){
// Here goes common Exception handing logic.
}
try{
//do somthing here
}catch(Exception e){
if(e instanceof CustomException1 || e instanceof CustomException2 || e instanceof CustomException3 ) {
// Here goes common Exception handing logic.
} else { throw e;}
}
我认为没有其他选择。
这种语法是在Java 1.7中添加的,因为以前很难干净地完成它。
你可以做一些事情:
在jdk1.6中是不可能的。 我刚刚找到了另一种选择。 你能做的是定义一个类级变量。
Object c ;
然后在相应的catch块中分配引用。
catch(CustomException1 cx1) {
c= cx1;
}
catch(CustomException2 cx2){
c = cx2;
}
if( c instanceof cx1 || c instanceof cx2)
// put your common logic here
我希望它能解决你的问题。
我终于开始使用这段代码,
try{
//do somthing here
}catch(SuperExceptionClass ex){
if (ex instanceof CustomException1 || ex instanceof CustomException2 || ex instanceof CustomException2) {
// Here goes common Exception handing logic.
} else {
throw ex;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.