异常处理小问题
Java code
import 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中以下的部分将不会再执行下去。。。