异常


Throwable java中所有异常的父类

派生两个子类,Error和Exception

try-catch
try{…}用于检测异常

jvm

  • 1:当运行str.length()时发现string 是null
  • 2:jvm实例化了一个NullPointerException的实例
  • 3:将程序执行过程的详细信息设置到该异常实例中
  • 4:将其在string.length()这个位置抛出该异常实例
  • 5:查看出错的方法string.length()是否被try语句包含
  • 6:如果没有被try语句包含,jvm会将该异常向string.length()所在的方法之外抛出若抛出到main方法之外,那么该程序终止
  • 7:若被try语句包围,顺序调用try下面的catch查看哪个catch可以捕获该异常,若有则进入catch内部来执行处理代码的片段,否则和第6步相同

finally应该是发生在异常捕获的最后一步,写在最后一个catch之后
finally是无条件执行的,不管有没有出错,都会执行

finally可以写在try下面,不关注异常的解决,必须得执行finally。

throw
1:异常不应该在当前代码中处理
2:程序出现非语法错误,但是不满足业务逻辑

throws
就是丑话说前面
main方法不要写throws!

1:重写方法是可以不throws抛出任何异常
2:可以抛出父类部分异常
3:可以抛出父类抛出的异常的子类异常
FileNotFoundException是IOException的子类

1:不允许抛出额外异常
2:不允许抛出父类抛出异常的父类异常

自定义异常

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Java异常类型 所有异常类型都是Throwable的子类,Throwable把异常分成两个不同分支的子类Erro...
    予别她阅读 4,511评论 0 2
  • 通俗编程——白话JAVA异常机制 - 代码之道,编程之法 - 博客频道 - CSDN.NEThttp://blog...
    葡萄喃喃呓语阅读 8,419评论 0 25
  • 初识异常(Exception) 比如我们在取数组里面的某个值得时候,经常会出现定义的取值范围超过了数组的大小,那么...
    iDaniel阅读 5,841评论 1 2
  • 春天来了,很多病毒在空气中蔓延,生病的也就多了,很多人抱怨是自己体质差所以容易得病。就我看来,只要你愿意,体质完全...
    跟着宝宝一起成长阅读 2,761评论 0 4
  • 如果我自己的世界一片灰暗狼藉,如果我多些经历,也许能理解你的孤寡。但此刻,我得坦诚,我突然讨厌你那永远阴翳的面庞。...
    一个没有什么故事的人阅读 921评论 0 0