public void function()
{
    int b = 0;
    
    try {
        if (b == 0) {
            throw new Exception("b == 0");
        }
    } catch (Exception e) {
            System.out.println(e.getMessagee());
    }    System.out.println("It is over");
}请问 try-catch 后的打印语句还执行吗,即是不是还要输出It is over?
为什么?

解决方案 »

  1.   

    执行这一句
    System.out.println(e.getMessagee()); 
    然后结束
    打印结果是
    b==0
      

  2.   

    是啊,你又没有return,怎么可能不把方法执行完呢
      

  3.   

    先执行  System.out.println(e.getMessagee()); 
    再执行 System.out.println("It is over"); 
      

  4.   

    这就是运行的结果b == 0
    It is over
      

  5.   

    public class Test 
    { public static void main(String[] args) 
    {
        int b = 0; 
        
        try { 
            if (b == 0) { 
                throw new Exception("b == 0"); 
            } 
            System.out.println("cann't execute!"); //这句不会执行
        } catch (Exception e) { 
                System.out.println(e.getMessage()); 
        }      System.out.println("It is over"); 
    }
    }发生异常会只是 try 所包含的发生异常后面的语句不会被执行。个人理解!
      

  6.   

    异常不处理的话,会逐步传递。
    你捕获异常了,就不会再传递出去了,执行异常处理逻辑后,程序回到异常发生点,继续往下执行。
    如果不捕获异常的话,It is over就不会打印出来了
      

  7.   

    肯定执行了,因为你catch了异常,处理了,所以程序的异常没有抛出去,所以后面的肯定执行
      

  8.   

    public void function() 

        int b = 0; 
        
        try { 
            if (b == 0) { 
                throw new Exception("b == 0");这句引发异常类,跳到catch块继续执行         } 
        } catch (Exception e) { 
                System.out.println(e.getMessagee());第二步就到这里了 
        }     System.out.println("It is over"); 第三步就到这里,catch 处理完会继续执行 } 
      

  9.   

    是不是因为是同一个线程,虽然抛出了异常,程序还没有结束,所以应该继续往下执行。
    我试了:
    b==0
    It is over 
    是正确的结果
      

  10.   

     catch (Exception e) { 
                System.out.println(e.getMessagee()); (2) 
        }把try里面的异常自己处理了。我觉得简单可以理解为 if(异常){catch 执行}
      

  11.   


    对~~直接从try跳转到catch然后顺序执行catch下面的语句
      

  12.   

    嗯要跳过 try 与 catch 中间的语句
      

  13.   

    try-catch不就是为了让程序能跑下去而出现的么?不过如果你是选择用抛出错误而不是抓住的话最后那个就不执行了,应该是这样!