Java异常学习总结及关键字含义

Error和Exception的区别

1)Error类:表示仅靠程序本身无法恢复的严重错误,比如说内存溢出、动态链接异常、虚拟机错误。应用程序不

                     应该抛出这 种类型的对象。

2)Exception类:由Java应用程序抛出和处理的非严重错误,如所需文件没有找到、零做除数、数组下标越界等。

                             他的各种不同子类分别对应不同类型异常。可分为两类:Checked异常和Runtime异常。

 

Checked异常和Runtime异常的区别

1)Runtime运行时异常: 包括RuntimeException及其所有子类。不要求程序必须对它们作出处理。即使没有

                                         try-catch或者 throws进行处理,仍可以进行编译和运行,如果运行时发生异常,

                                         会输出异常的堆栈信息并终止程序执行。

2)Checked非运行异常:除了运行时异常外的其它异常类都是Checked异常。程序必须捕获或者声明抛出这种

                                        异常,否则出现编译错误,无法通过编译。处理方式包括两种:try-catch捕获异常,

                                        通过throws声明抛出异常从而交给上一级调用方法处理。

 

异常处理中throws和throw的区别

1)作用不同:       throw用于程序员自行产生并抛出异常;throws用于声明在该方法内抛出了异常。

2)使用位置不同:throw位于方法体内部,可作为单独语句使用;throws必须跟在方法参数列表后,不能单独使用

3)内容不同:       throw抛出一个异常对象,且只能是一个;throws后面跟异常类,可以有多个。

 

Java异常处理try-catch-finally的执行过程

try-catch-finally程序块的执行流程以及执行结果比较复杂,基本执行过程如下:

1)程序首先执行可能发生异常的try语句块。如果try语句没有出现异常则执行完后跳至finally语句块执行;

     如果try语句出现异常,则中断执行并根据发生的异常类型跳至相应的catch语句块执行处理。

2)catch语句块可以有多个,分别捕获不同类型的异常。catch语句块执行完后程序会继续执行finally语句块。

      finally语句是可选的,如果有的话,则不管是否发生异常,finally语句都会被执行。

3)需要注意的是即使try和catch块中存在return语句,finally语句也会执行。是在执行完finally语句后再通过

      return退出。

 

常见异常

                                  运行时异常                                  检测时异常

InputMismatchException: 控制台输入不匹配异常

 

ArithmeticException: 算术计算异常。例如:除数为0

 

ArrayIndexOutOfBoundsException:数组下标越界

 

NullPointerException:空指针异常

 

IllegalArgumentException:方法接收到非法参数

 

ClassCastException:强制类型转换异常

 

ConcurrentModificationException:并发操作异常

 

 

ClassNotFoundException:无法找到类异常

 

SQLException:数据库操作异常。

 

FileNotFoundException:文件未被发现

 

IOException:IO异常

 

ParseException:解析异常

 

TimeoutException:超时异常

 

InterruptedException:中断异常。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值