异常处理小问题

ximenchuifeng 2011-11-30 08:39:17
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 压根就没进去。。。。直接跳出到程序最后了。。。。
...全文
62 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
quhuafeng521 2011-11-30
  • 打赏
  • 举报
回复
public static void throwChecked(int a) throws Exception
{
if (a > 0)
{
throw new Exception("ta > 0 ,exception");
}
}
你把这改成a<0.就会出现第二个异常了。。
kouyiSC 2011-11-30
  • 打赏
  • 举报
回复
catch表示捕获异常已经对异常进行处理了。。。
抛出异常表示 只是抛出而不处理。。那就还可以继续往下执行。。。
kouyiSC 2011-11-30
  • 打赏
  • 举报
回复
throwChecked(3); 抛出Exception异常。。。执行到
catch(Exception e)
{
System.out.println(e.getMessage());
}

程序遇到异常,,然后打印出e.getMessage()以后就会终止。。try中以下的部分将不会再执行下去。。。
ximenchuifeng 2011-11-30
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 yuweng101 的回复:]
引用 2 楼 zhaoct 的回复:
throwChecked(3);抛出异常当然会被catch,不会再往下执行了,如果没有finally,catch执行完就跳出方法了,
如果想throwRuntime(3); 来抛出异常,throwChecked(3);就不能有异常。。。


++
[/Quote]

那就是说,只要 try 块 ;里有一条出现了错误,try 外面没有 循环,这条语句就直接 不执行这条语句下面的语句了咯。。。还是说 再 catch 里操作一下,还有进到try 里的可能?
xierong2011 2011-11-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zhaoct 的回复:]

throwChecked(3);抛出异常当然会被catch,不会再往下执行了,如果没有finally,catch执行完就跳出方法了,
如果想throwRuntime(3); 来抛出异常,throwChecked(3);就不能有异常。。。
[/Quote]

+2 第一个异常就导致main 这个主线程停止了 肯定不会执行 下面的
yuweng101 2011-11-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zhaoct 的回复:]
throwChecked(3);抛出异常当然会被catch,不会再往下执行了,如果没有finally,catch执行完就跳出方法了,
如果想throwRuntime(3); 来抛出异常,throwChecked(3);就不能有异常。。。
[/Quote]

++
scrack 2011-11-30
  • 打赏
  • 举报
回复
上面的 哪个方法 先 抛出了 exception 被你捕获了 刚上面说错了
zhaoct 2011-11-30
  • 打赏
  • 举报
回复
throwChecked(3);抛出异常当然会被catch,不会再往下执行了,如果没有finally,catch执行完就跳出方法了,
如果想throwRuntime(3); 来抛出异常,throwChecked(3);就不能有异常。。。
scrack 2011-11-30
  • 打赏
  • 举报
回复
3大于0 抛出异常了 还执行毛啊 。。。。你又没有处理

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧