现在异常用的溜得飞起

Posted 小z同学

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了现在异常用的溜得飞起相关的知识,希望对你有一定的参考价值。

return 使线程跳出函数,之后需要进行接收
throw RuntimeException 使线程跳出函数, 之后需要进行接收
区别在于跳出函数的范围,return的范围是固定的,往外跳一层
throw RuntimeException 可以不跳出函数层,也可以无限往上跳
这个的大部分思路我们肯定想的到,但是当我们限定跳出类型时会不会有影响呢
换句话说能否在限定层的外面进行接收呢,我们知道,对于运行时异常无法限定
因为我还没见识过因为限定了函数层对外抛出的异常,而导致运行时异常无法抛出的情况
应为通常限定后并不会在内层对运行时异常进行接收,相反外层依旧可以感知到运行时异常
一切就显而易见了
那么在本质上等于运行时异常的throw RuntimeException(唯一区别在于后者为显示的)也是如是
显式和隐式运行时异常,可以当return用,
显时运行时异常(写死的retun),通过编译,合乎逻辑的运行
隐式运行时异常(随机的return),无法通过编译,假设能编译运行,只能在部分情况下合乎逻辑,所以往往需要显式的return来支持

所以说,运行时异常是个很有用的东西,让它自动抛出只利用了系统异常的冰上一角(浪费了好东西)的,我们完全可以主动抛出,或是继承运行时异常,现对异常状况的“return”处理

运行时异常明显是运行比编译多做一层,所以说显式异常并不需要调用者知道,调用者直接跳过编译阶段思考,直接当做运行时要考虑异常情况做最坏打算(所有地方都有运行时异常,那也就不需要抛出的标示了)。

io异常不存在运行时隐式抛出的异常,就是说怎么编译的就怎么运行,外层必须要清晰里层存在的显式异常选择(需要抛出标志来识别哪里抛出的)

 

以上是关于现在异常用的溜得飞起的主要内容,如果未能解决你的问题,请参考以下文章

一个老王开枪案例带你一步一步领略程序开发的魅力

vim与系统剪切板之间的复制粘贴

插上翅膀,让Excel飞起来——xlwings

hacker之眼Nmap的原理及用法最常用又最难用的扫描方法ICMP Ping

vuex

F1-F12键的功能大全,请收藏!不知道的别说Excel玩的溜!