【发布时间】:2015-10-26 08:08:42
【问题描述】:
我的模块中有 2 个类,其中一个类说 A 类具有可以抛出 InterruptedException、NoSuchElementException 的方法,另一个类说 B 类具有从 A 类调用方法的方法。 有人可以指导我实施异常处理的好习惯吗?应该是 CASE 1 还是 CASE 2 或任何其他方式。
案例 1::
A 类
methodA1 throws InterruptedException, NoSuchElementException {...}
methodA2 throws InterruptedException, NoSuchElementException {...}
.
.
.
.
methodA10 throws InterruptedException, NoSuchElementException {...}
B 类
a = new A();
methodB1 {
try{
a.methodA1();
a.methodA2();
}
catch(InterruptedException){
//do something
}
catch(NoSuchElementException){
//do something else
}
}
methodB2 {
try{
a.methodA9();
a.methodA10();
}
catch(InterruptedException){
//do something
}
catch(NoSuchElementException){
//do something else
}
}
场景 2::
A 类
methodA1 {
try{
//perform actions
}
catch(InterruptedException){
//do something
}
catch(NoSuchElementException){
//do something else
}
}
.
.
.
.
methodA10 {
try{
//perform actions
}
catch(InterruptedException){
//do something
}
catch(NoSuchElementException){
//do something else
}
}
B 类
a = new A();
methodB1 {
a.methodA1();
a.methodA2();
}
methodB2 {
a.methodA1();
a.methodA2();
}
【问题讨论】:
-
这取决于从您的代码的角度来看,在 A 类或 B 类中处理这些异常是否更有意义。您是否希望它成为可能发生这些问题的方法接口的一部分以及客户端需要处理它们,还是您可以在内部合理地处理它们而让客户无所适从?
标签: java exception exception-handling