【发布时间】:2018-10-03 02:25:55
【问题描述】:
当使用 switch 语句时,我是否应该在该案例中捕获与案例相关的异常?或捕获 switch 语句之外的所有相关异常?例如。
try{
switch(){
case 1:
case 2:
case 3:
}
catch(WrongDataException ex{sysout(ex);}
否则:
switch{
case 1:
try{
}catch(WrongDataException ex{sysout(ex);}
break;
case 2:
try{
}catch(YouNeedToPayAttentionException ex){sysout(ex);}
?
【问题讨论】:
-
如果发生不同类型的异常,肯定是后者。
-
如果我采用第一种方法,我不能捕获所有可能的异常吗?
-
如果您不在乎是从哪个
case出现异常,他们一定会在整个switch语句周围使用一个try...catch。如果您必须以不同方式处理特定案例的异常,请将try...catch放在这些案例中。两种方式都完全有效,这取决于您的特定需求。
标签: java exception exception-handling switch-statement