// 【异常】: // 1.Throwable:异常类和错误类的顶级父类 // 2.Error:错误类,程序无法处理的错误 // 3.Exception:异常类,程序本身可以处理的错误 // 4.RunTimeException:运行时的异常 Exception的子类 // 异常的分类 // 1.可查异常:除了运行时的异常和他的子类,其他都是可查异常 // 2.不可查异常:运行时异常和错误 // 可查异常:
// 抛异常的作用:找到异常位置,防止崩溃
try { Date d1=sd.parse(s0); } catch (ParseException e) { // 报错 // e.printStackTrace(); System.out.println("数据格式不对"); }
// 【常见异常】: // 1.ArrayIndexOutOfBoundsException 数组下标越界异常
// 2.StringIndexOutOfBoundsException 字符串下标越界异常
// 3.NullPointerException 空指针异常
// 4.ClassCastException 类转换异常
// 5.ArithmeticException 算术异常 // System.out.println(12/0); // 6.NumberFormatException 数字转换异常
// 【异常的五个关键字】 // try: 指定一个代码块预防所有异常,需要紧跟catch // 后面可以跟多个catch,按照异常顺序捕获异常 // 如果有0个catch必须跟上finally // catch:放在try后面,用来捕获异常类型 // finally: 无论是否发生异常,fianlly都会执行 // 在return之前执行. // // throws:放在方法名后面主动抛出异常; // throw:放在方法体里,主动抛出异常;
// [自定义异常]; // 1.新建异常类,继承Execption类,创建构造方法,设置message信息 // 2.在需要的地方 用throw new 新的异常类 来抛出异常