0807java异常总结

一、Java的异常处理是通过5个关键字来实现的:try、catch、 finally、throw、throws

1、捕获异常:

try:执行可能产生的异常代码

catch:捕获异常

finally:无论发生什么异常,代码都执行

2、声明异常:

throws:声明方法可能要抛出的各种异常

3、抛出异常:

throw:手动抛出异常

二、常见的异常类型:

Exception                                                异常父类

ArithmeticException                              算术错误情形,如以0作为参数

ArrayIndexOutOfBoundsException      数组下标越界

NullPointerException                            空指针异常

ClassNotFoundException                    不能加载的类

IllegalArgumentException                    方法接收到非法参数

ClassCastException                             对象强制转换类型出错

NumberFormatException                      数字格式转换异常,如把“abc”换成数字

三、finally唯一不执行的情况

除非在try块或者catch块中调用了退出虚拟机的方法(即System.exit(1);),否则不管在try块、catch块中执行怎样的代码,出现怎样的情况,异常处理的finally块总是会被执行的。

当程序执行try块,catch块时遇到return语句或者throw语句,这两个语句都会导致该方法立即结束,所以系统并不会立即执行这两个语句,而是

去寻找该异常处理流程中的finally块,如果没有finally块,程序立即执行return语句或者throw语句,方法终止。如果有

finally块,系统立即开始执行finally块,只有当finally块执行完成后,系统才会再次跳回来执行try块、catch块里的

return或throw语句,如果finally块里也使用了return或throw等导致方法终止的语句,则finally块已经终止了方法,不用再跳回去执行try块、catch块里的任何代码了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,754评论 18 399
  • Java异常类型 所有异常类型都是Throwable的子类,Throwable把异常分成两个不同分支的子类Erro...
    予别她阅读 946评论 0 2
  • 初识异常(Exception) 比如我们在取数组里面的某个值得时候,经常会出现定义的取值范围超过了数组的大小,那么...
    iDaniel阅读 1,882评论 1 2
  • 异常处理机制 异常处理模型:终止模型:当异常发生时,就进入异常处理程序,处理结束并不返回异常发生位置继续执行;恢复...
    LilacZiyun阅读 501评论 0 2
  • *先说重点,获取手机语言网上搜了半天,都是能够中英互换,并没有获取手机语言。。。翻墙后,终于找到办法:naviga...
    一只飞阅读 1,587评论 0 0