关于异常

  • 异常一般是指运行期(此处特指Exception类)会发生的导致程序意外中止的问题,是一种对问题的描述后的封装对象。
  • 是Object下所属的Throwable类,包含Error类和Exception类,其中Exception中包含特殊的RuntimeException
  • Throwable
    |----Error
    |----Exception
    |----RuntimeException
  • Error类:编译时就出现中止,常无关代码逻辑,而和系统Error有关,无需写针对性代码处理
  • Exception类:是可以处理的问题,需要程序员改善代码再进行处理,即通过抛出或者try...catch捕获
  • 异常的特点:异常体系中所有类及建立的对象都是可抛的,也就是可以通过throws(函数上使用)、throw(函数内使用)进行操作
  • 当函数内容有throw抛出异常对象,并未进行try处理,必须要在函数上声明,否则编译失败。注意RuntimeException除外,如果抛出RuntimeException,函数上可以不用声明
  • 如果函数声明了异常,调用者需要进行处理
  • 异常
  • 编译时被检测异常:如果没有进行处理,编译失败;异常被标识,意味着可以被处理
  • 运行时异常:编译时不检查
  • 异常处理原则
  1. 处理方式:try或throws
  2. 抛出几个异常就处理几个,一个try多个catch
  3. 多个catch,父类放到最下面
  4. catch内写针对性代码

五种常见异常举例

  • ArrayIndexOutOfBoundsException(数组越界异常):常发生在访问数组超过长度的元素时发生


    ArrayIndexOutOfBoundsException
  • ArithmeticException(算术异常):常发生在常规违背算术法则的情况,如程序中出现了除以零这样的运算就会出这样的异常


    ArithmeticException
  • InputMismatchException(数据类型不匹配):常发生在用户输入有误,不符合程序设定类型


    InputMismatchException
  • NullPointerException(空指针异常):常发生在已分配空间的数据未初始化


    NullPointerException

    未初始化
  • IOException(找不到指定路径的IO异常):常发生在工程文件不在当前工作路劲下
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容