异常

介绍

  • 程序中异常:在程序执行过程中由于设计或设备原因导致的程序中断的异常现象叫做异常。
  • 异常处理:Java编程语言使用异常处理机制为程序提供了异常处理的能力。

异常的分类

运行时异常

  • 运行时异常:(RuntimeException)在编译过程不会发现(没有语法错误),但是在执行程序过程中,由于重大的逻辑错误导致的程序中断。
  • 所有的RuntimeException的子类包括RuntimeException都属于运行时异常
  • 常见的运行时异常:
    • NullPointerException 空指针异常(一个对象没有初始化调用方法)
    • ArrayIndexOutOfBoundsException 下标越界异常
    • ClassCastException 类型转换异常(对象类型转换时)
    • NumberFormatException 数字格式异常
    • ArithmeticException 算术异常

编译时异常

  • 编译异常或检查异常,在程序设计过程中,编译时就会被发现,但是执行时可能发生也可能不发生的异常,为了程序不报错可以执行,那么这一类异常必须进行相应的处理。
  • Exception的子类包括Exception,除了RuntimeExcption之外都属于编译时异常。

Exception类

  • 异常的父类。

Error类

  • 错误,错误比较严重的问题,不属于异常,程序员无法处理。
  • StackOverflowError 、OutOfMemoryError

异常处理

Java的异常处理是通过5个关键字来实现的:

  • try:执行可能产生异常的代码
  • catch:捕获异常 ,并处理
  • finally:无论是否发生异常,代码总能执行
    • 不会执行的情况:退出Java虚拟机或System.exit(); 0正常退出,非0非正常退出
    • 作用:用来释放资源
  • throw:手动抛出异常
  • throws:声明方法可能要抛出的各种异常

自定义异常类

  • 创建自定义异常,通常继承自Exception或其子类,习惯上包装一下父类的构造方法。

自定义非运行时异常

  1. 定义一个类,继承Exception
  2. 在此类中定义构造方法,调用父类中的带字符串参数的构造方法(此字符串表示对异常的描述)
  3. 使用异常

自定义运行时异常

  1. 定义一个类,继承RuntimeException
  2. 在此类中定义构造方法,调用父类中的带字符串参数的构造方法(此字符串表示对异常的描述)
  3. 使用异常


转载请注明:Memory的博客 » 点击阅读原文

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦