有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

获取并处理java异常行

假设我们有6行用Java编写的代码,x异常可以在6行中的任意一行随时发生

我如何只捕获那行代码并在catch块中处理它。 如果第2行出现异常,则应获取该行并处理该行

请让我知道这在Java中是否可行

谢谢


共 (2) 个答案

  1. # 1 楼答案

    尝试使用

    x.getStackTrace()[0].getLineNumber();
    

    还有一个开关盒

  2. # 2 楼答案

    请注意,使用异常来控制程序流通常不是最好的方法。但如果你真的想这么做,那么也许这可以奏效

    int stepCompleted = 0;
    
    try {
        doFirst();
        ++stepCompleted;
        doSecond();
        ++stepCompleted;
        ...
    } catch (Exception e) {
    
        switch(stepCompleted) {
    
            case 0:
                // Do stuff ...
                break;
    
            case 1:
                // Do stuff ...
                break;
            ...
    }