1.JVM将错误变成了异常对象交给了异常处理机制,而java本身就定义了很多异常的对象,Throwable就是所有异常类的超类
异常:
Error:错误,是跟jvm的环境相关的,比如系统崩溃,jvm的内存溢出等的虚拟机错误。是无法通过修改代码来进行修改的。
Exception:跟程序相关的。分为运行时异常和编译时异常
运行时异常:是在程序运行时才可能抛出异常。例:SQLException,ClassNoFoundException
编译时异常:是在编译时发生,也叫检查时异常,在代码的调用时,存在的异常,它必须要在编译时进行异常的处理,例:NullPointException,NumberFormatException,ArithmeticException,
3.父类没有异常,子类也不能有异常;父类抛异常,子类可以不抛出异常;
4.子类抛出的异常可以是父类抛出的异常的子类,但父类抛出的异常不能是子类抛出的异常的子类;
5.自定义异常步骤:(1),创建一个类继承Throwable或其子类,(2)添加构造方法(3在一个方法中使用throw抛出异常,(4)在另一个方法中捕获并处理该异常