社区
Java SE
帖子详情
关于运行时异常的处理机制
gzhanyf
2010-04-26 03:23:21
我发现定义一个可能抛出运行时异常的方法时,在方法名后面是不写throws关键字来显示地将异常抛给上一层调用者的,那么这个运行时异常时如何处理的呢?是系统自动将异常递归抛给上一层调用者直到遇到处理者还是说不抛出给上层调用者而直接由jvm处理异常?
...全文
172
8
打赏
收藏
关于运行时异常的处理机制
我发现定义一个可能抛出运行时异常的方法时,在方法名后面是不写throws关键字来显示地将异常抛给上一层调用者的,那么这个运行时异常时如何处理的呢?是系统自动将异常递归抛给上一层调用者直到遇到处理者还是说不抛出给上层调用者而直接由jvm处理异常?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gzhanyf
2010-04-26
打赏
举报
回复
懂了,看来checked异常和unchecked异常处理机制一样,只不过unchecked异常不捕获时不用程序员自己显式throws exception而已,系统自动抛出
soli11722984
2010-04-26
打赏
举报
回复
谁调用Test就谁处理,要是那个都不处理,就一直往上传,直到最顶,然后就JVM处理
JVM处理。。。。。。就直接给你停下来
gzhanyf
2010-04-26
打赏
举报
回复
我知道RuntimeException也可捕获,但是我是说如果既不用try catch捕获,定义方法时也不用throws抛出,那么这个runtimeException是怎么处理的?
比如下面的例子:
class MyRuntimenException extends RuntimeExcepion {
public MyRuntimenException() {
super();
}
public MyRuntimenException(String msg) {
super(msg);
}
}
class Test {
public void test {
throw new MyRuntimenException ();
}
}
像test方法里出现了这个运行时异常,系统是如何处理的?
yugong2009
2010-04-26
打赏
举报
回复
[Quote=引用 2 楼 zjwilove4 的回复:]
将异常递归抛给上一层调用者直到遇到处理者
[/Quote]
如果没有try catch则会抛出JVM
believefym
2010-04-26
打赏
举报
回复
[Quote=引用楼主 gzhanyf 的回复:]
我发现定义一个可能抛出运行时异常的方法时,在方法名后面是不写throws关键字来显示地将异常抛给上一层调用者的,那么这个运行时异常时如何处理的呢?是系统自动将异常递归抛给上一层调用者直到遇到处理者还是说不抛出给上层调用者而直接由jvm处理异常?
[/Quote]
这个要看需求的,因为runtime的exception本来就是不可预知的,不可能因为有这种可能,就每个都来个try catch
如果是web的,配个500的页面,出错时自动转到那个告诉用户系统出错,联系管理员的那个页面就是一种解决方案,不会把无意义的exception直接暴露给用户
又比如一些小的j2se的工具,其实直接抛exception给用户也无所谓,用户一看就知道出什么错了,比如文件路径,网络连接之类的
lu76689614
2010-04-26
打赏
举报
回复
Java对异常(Exception)的处理方法分为两类:
一类将异常的处理递交给当前方法的调用者去处理,称为 throws a Exception,
另一类则在方法中使用try/catch/finally语句自己处理异常。
zjwilove4
2010-04-26
打赏
举报
回复
将异常递归抛给上一层调用者直到遇到处理者
soli11722984
2010-04-26
打赏
举报
回复
try{
...
}catch(){
...
}
还是一样捕获,不过就是捕获RuntimeException或者直接Exception再或者RuntimeException的子类。。。。。。
相关推荐
Java
异常
原理剖析
本门课程深入讲解了Java
异常
机
制
的工作原理,代码结合理论的讲解方式,能够让你对Java的
异常
机
制
有更深刻的理解!通过本课程的学习让你能够轻松看懂
异常
信息!不再一头雾水!本门课程主要包括:
异常
概述、
异常
的继承体系、编译期
异常
Exception、
运行时
异常
RuntimeException、
异常
的处理方案、自定义
异常
的实现、throw和throws关键字的用法、try...catch.finally
异常
处理讲解、及
异常
相关面试题的讲解。
Java 基础进阶篇(十三):
异常
处理机
制
一、
异常
概述、体系 二、
异常
的分类 三、
异常
的默认处理流程 四、
异常
的
处理机
制
4.1 编译时
异常
的
处理机
制
4.1.1 方式一:抛出
异常
4.1.2 方式二:捕获
异常
4.1.3 方式三:前两者结合 4.2
运行时
异常
的
处理机
制
五、自定义
异常
5.1 自定义编译时
异常
5.2 自定义
运行时
异常
六、try-catch-finally格式
Day07_06目标:
运行时
异常
的
处理机
制
目标:
运行时
异常
的
处理机
制
引入:
运行时
异常
在编译阶段是不会报错,在运行阶段才会出错。
运行时
异常
在编译阶段不处理也不会报错,但是
运行时
如果出错了程序还是会死亡 所以
运行时
异常
也建议要处理。
运行时
异常
是自动往外抛出的,不需要我们手工抛出。
运行时
异常
的处理规范: 直接在最外层捕获处理即可,底层会自动抛出!! 小结:
运行时
异常
编译阶段是不会出错的,可以处理也可以不处理,建议还是处理。...
Java
异常
机
制
---
异常
的产生与处理
为什么会产生
异常
,
异常
的分类/** * 测试java
异常
处理机
制
* java
异常
处理的根基类为Throwable,存在两个子类Error和 * Exception(Checked Exception(必须捕获进行处理) ; * Unchecked Exception(Runtime Exception(java
运行时
异常
)(java虚拟机正常
运行时
抛出
异常
的超类))); * 程序员需...
Java基础
异常
Throwable、
异常
的几种处理方式、throw关键字、File类
Day17一、
异常
1、
异常
的概念2、在jvm中默认处理
异常
的机
制
3、手动处理
异常
的方式四、编译时
异常
和
运行时
异常
区别二、throw关键字三、File类 一、
异常
1、
异常
的概念 2、在jvm中默认处理
异常
的机
制
3、手动处理
异常
的方式
异常
捕获的第一种格式
异常
捕获的第二种格式
异常
捕获的第三种格式 四、编译时
异常
和
运行时
异常
区别
异常
体系中的常用方法 二、throw关键字...
Java SE
62,567
社区成员
307,521
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告