异常

it2022-05-20  63

 一.行为的意外结果可以分为两类    可以处理的意外结果称为异常(Exception)    处理不了的意外结果称为错误(Error)    异常是一中特殊的对象,类型为java.lang.Exception或器子类   二.处理  1.捕获异常   try-->执行可能产生异常的代码   catch-->捕获异常   finally-->无论是否发生异常,代码总能执行  2.声明异常   throws-->声明方法可能要抛出的各种异常  3.抛出异常   throw-->手动抛出异常 三.try-catch   情况一:      try(无异常)     catch     try-catch后代码        |                           |         ---------------------------         情况二:      try(有异常)                    catch ---->try-catch后代码        |                                |         -->产生异常对象-->异常类型匹配-->   情况三:       try(有异常)   catch ---->try-catch后代码         |          --产生异常对象-->异常类型不匹配-->代码中断 四.在catch块中处理异常    1.加入自定义处理信息      System.err.ptintln(“自定义内容”)    2.调用方法输出异常信息      e.printStackTrace();    3.异常对象常用方法      String getMessage();      *返回异常信息描述字符串是printStackTrace()输出信息一部分 五.Java异常机制    1.代码运行到可能出现异常时,由程序或Java抛出异常对象,异常对象会记录相关信息    2.异常对象抛出后,会去寻找异常处理的相关代码(catch),如果找到异常结束    3.如果未找到,异常对象会继续上抛,寻找异常处理代码    4.如果到main还未找异常抛给到异常处理代码,就会有main将异常抛给虚拟机    5.异常抛出的每一层代码都会中断 六.常见异常类型        异常类型                                  说明       Exception                        异常层次结构的父类   ArithmeticException                  算术错误情形,如以0做除数ArrayIndexOutBoundsException            数组下标越界  NullPointerException                  尝试访问null对象成员 ClassNotFoundException                 不能加载所需类IllegalArgumentException                方法接收到非法参数   ClassCastException                   对象强制类型转换出错 NumberFormatException                  数字格式化转换异常,如把“ABC”转为数字 七.finally   1.是否发生异常都会执行finally块中的代码   2.唯一不执行的情况:System.exit(1); 八.存在return的try-catch-finally块   try--->产生异常对象--->异常类型匹配--->进入catch--->

   执行finally--->执行return退出方法 九.try、catch、finally使用规则    try{     //必须出现,且只能出现一次    }catch{     //可以出现0~n次,如果没有catch就必须有finally    }finally{     //可以出现0~1次    }     十.多重catch块   1.排列catch语句顺序:先子类后父类   2.发生异常时按顺序逐个匹配   3.只执行第一个与异常类型匹配的catch语句 十一.Java异常分类   1.运行时异常:在代码编译的时候不会进行检测,在代码运行时的过程中产生异常,

     RuntimeException及其子类都属于运行时异常,     还有ArithmeticException、NullPointeException、NumberFormatException   2.检查异常/检测异常:在代码编译的时候显示必须处理,才能通过编译器的编译,

     如:SQLException、ClassNoFoundException 十二.throw、throws   1.throws声明某个方法可能抛出的各种异常   2.throws可以让检查异常通过编译器的编译,但没有真正解决异常   3.throw手动抛出异常,并可以定义异常的信息   4.throws可以声明多个异常,多个异常之间用逗号隔开      十三.自定义异常   1.写一个异常类,继承Exception   2.手动实现Exception的构造方法

转载于:https://www.cnblogs.com/123456lala/p/6892681.html

相关资源:数据结构—成绩单生成器

最新回复(0)