关于java runtimeException和exception的两种异常的用途
来源:互联网 发布:java微信后台开发 编辑:程序博客网 时间:2024/06/08 18:36
网上摘得一段话,比喻的很恰当:
继承Exception还是继承RuntimeException是由异常本身的特点决定的,而不是由是否是自定义的异常决定的。例如我要写一个java api,这个api中会调用一个极其操蛋的远端服务,这个远端服务经常超时和不可用。所以我决定以抛出自定义异常的形式向所有调用这个api的开发人员周知这一操蛋的现实,让他们在调用这个api时务必考虑到远端服务不可用时应该执行的补偿逻辑(比如尝试调用另一个api)。此时自定义的异常类就应继承Exception,这样其他开发人员在调用这个api时就会收到编译器大大的红色报错:【你没处理这个异常!】,强迫他们处理。又如,我要写另一个api,这个api会访问一个非常非常稳定的远端服务,除非有人把远端服务的机房炸了,否则这个服务不会出现不可用的情况。而且即便万一这种情况发生了,api的调用者除了记录和提示错误之外也没有别的事情好做。但出于某种不可描述的蛋疼原因,我还是决定要定义一个异常对象描述“机房被炸”这一情况,那么此时定义的异常类就应继承RuntimeException,因为我的api的调用者们没必要了解这一细微的细节,把这一异常交给统一的异常处理层去处理就好了。
转
作者:二大王链接:https://www.zhihu.com/question/51970444/answer/128806764
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
总结一下, 抛出 RuntimeException,调用方法的程序员不需要知道会出这个异常,抛出Exception的方法,调用者需要明确知道这个方法里会出现什么异常,并提示调用者要去处理这个可能得异常。
0 1
- 关于java runtimeException和exception的两种异常的用途
- Java中RuntimeException和Exception的区别
- java exception 和 runtimeException的区别
- Java中RuntimeException和Exception的区别
- 详解Java异常Throwable、Error、Exception、RuntimeException的区别
- java 异常之Exception与RuntimeException的区别
- java 常见的Exception runtimeException
- Exception和RuntimeException的区别
- Exception和RuntimeException的区别
- Java常见异常(Runtime Exception )小结&&关于RuntimeException异常
- Java初学习 - java exception 和 runtimeException的区别
- JAVA Exception和RuntimeException的区别和用法、用处
- java error和exception的区别,RuntimeException和非RuntimeException的区别
- Java基础回顾 : RuntimeException和Exception的区别
- Error和Exception、RuntimeException和非RuntimeException的区别
- Exception:处理异常的两种方式
- Exception类和RuntimeException类的区别
- seam的异常总结——java.lang.RuntimeException: exception invoking: getTransaction
- 在原来的基础上添加了保存检测到的活体图片并且图片的保存形式为时间戳的方式
- Thinkphp3.2 伪静态以及thinphp3.2去掉index.php方法
- linux无名管道和有名管道
- 你应该知道的25道Javascript面试题
- 洛谷 P3391 文艺平衡树
- 关于java runtimeException和exception的两种异常的用途
- 蓝桥杯送分题(1,2题)
- Python 分块多线程下载器
- Android,通讯录导入,contacts,联系人
- 视觉SLAM中的李群&李代数基础
- 认识HTML CSS3 PHP JS
- Android自定义控件之天气视图
- IOC如何工作:粗略
- 判断服务器返回的时间和现在相比