异常总结:
异常时什么?是对问题的描述。将问题进行对象的封装。
异常体系:
throwable
|--Error
|--Exception
|--RuntimeException
异常体系的特点:异常体系中的所有类以及建立的对象都具备可抛性。也就是说可以被throw和throws关键字所操作。只有异常体系具备这个特点。
当函数内部有throw抛出异常对象,并未进行try处理。必须要在函数上声明,否则,会在编译失败;
注意:RuntimeException除外,也就是说,函数内如果抛RuntimeException异常,函数上可以不声明;
如果函数声明了异常,调用者需要进行处理,处理方法可以throws可以try;
异常有两种:
编译时被检测异常
该异常在编译时,如果没有处理(没有抛也没有try),编译失败;该异常被标识,代表这可以被处理;
运行时异常(编译时不检测)
在编译时,不需要处理,编译器不检查;
该异常的发生,建议不处理,让程序停止,需要对代码修正;
注意:
1.fianlly中定义的通常是关闭资源代码。因为资源必须释放;
2.finally只有一种情况不会执行。当执行到System.exit(0);finally不会执行;
自定义异常:
定义类继承Exception或者RuntimeException
1.为了让自定义类具备可抛性;
2.让该类具备操作异常的共性方法;
当要定义自定义异常的信息时,可以使用父类已经定义好的功能。
异常信息传递给父类的构造函数。 |