异常是导致程序中断运行的一种指令流,如果不对异常进行正确的处理,则可能导致程序的中断执行,造成不必要的损失,所以在程序的设计中必须要考虑各种异常的发生,并正确地做好相应的处理,这样才能保证程序的正常运行。
java异常是java提供的用于处理程序中错误的一种机制。
在java中,异常用对象表示。在一个方法的运行过程中,如果发生了异常,则这个方法(或者java虚拟机)生成一个代表该异常的对象,该异常对象中包括了异常事件类型以及发生异常时应用程序目前的状态和调用过程。
Throwable类是java语言中所有错误或异常的超类(父类)。
Throwable两个子类:Error和Exception
Error类负责错误,它指程序运行的时候遇到的硬件或操作系统的错误,
如:系统崩溃,内存溢出,方法栈溢出(我们自己写的而且依靠程序解决不了的错误)
Exception:
1.需要强制使用try{}catch(){}的异常叫做强制检测异常(Checked Exception):FileNotFoundException,IOException
注意:异常被捕获以后,try{}catch(){} 后面的代码依然能正常执行
2. 运行时异常(RuntimeException):数组下标越界,NullPointerException
注意:发生运行时异常,那么程序立即终止
(注意: 异常的监视和捕获是一个单独的线程)
throw , throws
throw用来抛出切切实实的异常对象(使用new创建了一个异常),是一个实际的语句。
throw
如: throw new NullPointerException();
throws是用来声明的,加在一个方法声明的后面,后面跟一些异常类的名字,说明该方法可能会抛出某个或某些异常,而这个方法并不关心或不方便处理,由方法的钓鱼者来处理。
方法 throws ExceptionTypel, ExceptionType2
如:public void test() throws HOPEFULException{}//自定义异常类