即日起在codingBlog上分享您的技术经验即可获得积分,积分可兑换现金哦。

JAVA里的异常与处理

编程语言 tjf0216 35℃ 0评论
本文目录
[隐藏]

1.Java中的异常和处理

  • 概念

    • 当程序出现不正常的情况,我们把这种情况统称为异常
  • java中所有异常的类,都是继承Throwable,Throwable中有两个子类,Error和Exception

    • Error 是当程序出现错误,而无法处理的情况
    • Exception 是程序出现不正常的情况但可以处理的情况

2.Exception详解

  • RuntimeException和CheckedException的区别

    • RuntimeException(运行期异常),不会引起编译错误,不需要强制处理。常见的有:

      • ClassCastException(类转换异常)
      • NullPointerException(空指针异常)
      • IndexOutOfBoundsException(越界异常)
      • ArithmeticException(算术异常)
    • CheckedException(编译期异常),会引起编译错误,需要强制处理, 否则程序就运行不了

      • IOException
      • SqlException

3.try、catch、finally、throw、throws关键字

  • try、catch、finally的作用

    • try : 检测不安全的代码块(发现异常)
    • catch: 异常处理代码
    • finally:不管出现或者不出现异常都会执行的代码
    • 其中catch和finally可以省略,但是try不能
    • 可以多个catch块
    • catch的异常,父类异常的catch块在子类异常之后
    • 可以catch任何异常
    • catch CheckedException时,try块中必须存在可能引发该异常的代码,否则编译错误
    • 如果catch或者finally块中存在异常,则需要再次处理

       try{
        程序代码
       }catch(异常类型1 异常的变量名1){
        程序代码
       }catch(异常类型2 异常的变量名2){
        程序代码
       }finally{
        程序代码
       }
      
  • finally和return

    • 不管会不会出现异常都会执行finally
    • 无论是在正常代码和异常处理代码中return,仍然会先执行finally再return
    • 不会执行finally的情况:System.exit(0);
  • throw和throws

    • throw 抛出一个异常

      • 使用 try-catch捕获异常
      • 使用throws声明异常
    • 语法

      • throw new 异常类构造方法;
      • throw new Exception();
    • throws 在方法签名上声明该方法会抛出某个异常,若该异常为CheckedException 则调用该方法时需要对此进行处理
    • 可以声明多种异常类型,用”,”分开即可
    • 示例

      • public void test throws异常1,异常2,异常3{

        }

4.自定义异常

  • 概念

    • 自定义异常就是自己定义的异常类,也就是Exception直接或间接的子类
    • 自定义异常类

          public  class 异常类名 extends Exception{
              public 异常类名(){
                  super();
           }
       }
      
    • 自定义异常类中往往不写其他方法,只重载需要使用的构造方法
    • 示例

          public class GameException extends Exception{
              public GameException(){
                  super();
              }
          } 
      

转载请注明:CodingBlog » JAVA里的异常与处理

喜欢 (0)or分享 (0)
发表我的评论
取消评论

*

表情