假设我们有6行用Java编写的代码,并且x异常可以随时发生在6行之外的任何一行。
我如何只捕获那行代码并在catch块中进行处理。 如果第二行发生异常,它将获得该行并继续处理。
请告知我在Java中是否可行。
谢谢
答案 0 :(得分:1)
尝试使用
x.getStackTrace()[0].getLineNumber();
连同一个开关盒盖
答案 1 :(得分:0)
请注意,使用异常控制程序流通常不是最佳方法。但是,如果您真的想这样做,那么这可能行得通吗?
int stepCompleted = 0;
try {
doFirst();
++stepCompleted;
doSecond();
++stepCompleted;
...
} catch (Exception e) {
switch(stepCompleted) {
case 0:
// Do stuff ...
break;
case 1:
// Do stuff ...
break;
...
}