首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

错误处理小疑点

2012-01-12 
异常处理小问题Java codeimport java.io.*public class Test {public static void main(String[] args){t

异常处理小问题

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);抛出异常当然会被catch,不会再往下执行了,如果没有finally,catch执行完就跳出方法了,
如果想throwRuntime(3); 来抛出异常,throwChecked(3);就不能有异常。。。

[解决办法]
throwChecked(3); 抛出Exception异常。。。执行到
catch(Exception e)
{
System.out.println(e.getMessage());
}

程序遇到异常,,然后打印出e.getMessage()以后就会终止。。try中以下的部分将不会再执行下去。。。

热点排行