异常处理小问题

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 压根就没进去。。。。直接跳出到程序最后了。。。。
...全文
58 9 打赏 收藏 转发到动态 举报
写回复
用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 抛出异常了 还执行毛啊 。。。。你又没有处理
本套课程为Python基础篇的第3套课程,主要讲解python异常处理的系统知识体系。      首先讲解异常的定义与分类: Exception、ValueError、TypeError、OSError等。其次讲解Python的多层次捕获异常机制 try...except...except .... ,然后对于finally、else 关键字以及异常堆栈跟踪等进行一一介绍。      本课程末尾讲解常用的自定义异常与raise自定义抛异常机制,以及assert断言等。      课程末尾需要重点说明的是,本系列课程均设置课堂练习与课后作业集中讲解(录播形式),让初学者通过大量练习与阶段项目等手段有效强化学习效果,保证学习过程中的技能全面提升!  教学特点:      使用大量(3D/2D)动画与图示方式,由浅入深讲解Python编程。配之海量课堂练习/课后作业的大量讲解,以及刘老师风趣幽默的课堂幽默感染力,让你轻松加愉悦的心情下开启Python系统学习之旅,系统与深入掌握当今最为火热的人工智能御用编程语言!      本Python教程分为入门、基础、中级、进阶篇,共15套教程组成。突出教学特点如下:           1:为弥补线下“互动性”与知识点的高“吸收率”,每套课程均设置“课堂练习”、“课后作业”、“阶段项目实战”、以及每个章节末尾的“课程笔记”整理环节,不断强化学员知识点的不断巩固与知识体系的梳理,不遗漏任何重要知识点。 以上四大自学环节设置,保证自学过程中知识的反复锤炼与全面吸收,最终获得优秀学习效果!      2:本Python系列课程(15套)从入门篇开始,完全从真正零基础开始讲起,特别适合中小学生以及大学非计算机专业的初学者开始入门!      3:大量采用3D/2D图形化示例讲解,对于Python抽象与复杂问题全部采用3D动画演示。      4:每套课程开始均设置“课程概述”: 讲解本套课程的前导课程、后续课程,以及本套课程的知识体系内容,帮助学习者更好的掌握课程的来龙去脉。          更多学习内容以图示方式供广大学员参考如下: 

62,614

社区成员

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

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