java - 异常处理 - (try...catch/finally/throws/throw)

异常

1.  分类

     检查性异常

            必须写  try...catch   否则无法通过编译 ;

     非检查性异常

             可以写 try...catch 也可以不写 try...catch 。

2.  非检查性异常

      RumtimeException  运行时异常(所有java虚拟机正常操作期间可以被抛出的异常的父类)

      ArithmeticException  算术错误(如除以0)

      illegalArgumentException  传递非法参数异常

      ArrayIndexOutOfBoundsException  下标越界异常

      NullPointerException  空指针异常

3.  检查性异常

     ClassNotFoundException  找不到类文件异常

     IOException  I/O异常

     FileNotFoundException  找不到文件

     EOFException  文件已结束异常

     illegalAccessException  访问类被拒绝异常

     NoSuchMethodException  请求方法不存在异常

     InterruptedException  被终止异常(当某个线程处于长时间等待、休眠、或者其他暂停的状态,此时其他的线程通过Thread的interrupt方法终止该线程时抛出的异常)

4. 处理异常的方式

    自行处理

         可能引发异常的语句   try

         处理异常的相应语句  catch

    回避异常

          方法声明中包含throws语句

          哪个方法调用哪个进行异常处理( try...catch )

5. try...catch

     try:抛出异常,找到异常

     catch:捕获并处理异常(跳过异常,使后边语句继续执行)

     · 没有try,没有catch,可以有多个catch,不能单独存在。

     · 如果程序抛出多个不同类型的异常,需要多个catch异常。

     · try...catch 之间无任何添加代码。

6. finally

   ·  在 try...catch 之后出现。

   ·  不论有没有异常都会执行。

   ·  通常在finally语句中可以进行资源的清除操作。

   ·  System.exit(0);  finally代码块中的内容不被执行。

7. throws

   ·  在函数参数列表的后面。

   ·  关键字后边可以加多个异常,中间用逗号分隔。

   ·  该关键字抛出的异常,由调用函数的函数处理。

8.  throw

   ·  在方法体内出现,表示抛出异常,由方法体内的语句处理。

   ·  不能单独使用,要么和 try...catch 一起使用,要么和throws一起使用。

   ·  throw语句的操作数一定是Throwable类类型 或者 Throwable子类类型的一个对象

        Throwable:所有错误/异常的超类

        Exception及其子类时Throwable的一种形式,指出了合理的应用程序所需要的捕获条件。

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荼蘼_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值