错误处理小疑点
异常处理小问题Java codeimport java.io.*public class Test {public static void main(String[] args){t
异常处理小问题
Java codeimport java.io.*;public class Test { public static void main(String[] args) { try { throwChecked(3); throwRuntime(3); //感觉这条没执行,,, } catch (RuntimeException re) { System.out.println(re.getMessage()); } catch(Exception e) { System.out.println(e.getMessage()); } } public static void throwChecked(int a) throws Exception { if (a > 0) { throw new Exception("ta > 0 ,exception"); } } public static void throwRuntime(int a) { if (a > 0) { throw new RuntimeException("re > 0,Runtime exception"); } }}
一个try 块只能 一行代码的错误? 我单步调试了一下,发现下面那个 throwRuntime 压根就没进去。。。。直接跳出到程序最后了。。。。
[解决办法]throwChecked(3);抛出异常当然会被catch,不会再往下执行了,如果没有finally,catch执行完就跳出方法了,
如果想throwRuntime(3); 来抛出异常,throwChecked(3);就不能有异常。。。
[解决办法]上面的 哪个方法 先 抛出了 exception 被你捕获了 刚上面说错了
[解决办法][解决办法]throwChecked(3); 抛出Exception异常。。。执行到
catch(Exception e)
{
System.out.println(e.getMessage());
}
程序遇到异常,,然后打印出e.getMessage()以后就会终止。。try中以下的部分将不会再执行下去。。。