在Java异常行中获取和工作

时间:2018-07-30 11:21:47

标签: java exception

假设我们有6行用Java编写的代码,并且x异常可以随时发生在6行之外的任何一行。

我如何只捕获那行代码并在catch块中进行处理。 如果第二行发生异常,它将获得该行并继续处理。

请告知我在Java中是否可行。

谢谢

2 个答案:

答案 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;
        ...
}