有些情况程序员认为是异常,JVM看来却是正常的,比如年龄是负数;所以,在这种情况下,我们就需要自己手动创建并抛出异常,这就需要用到throw了。
Exception e = new Exception("Age Exception");//创建异常对象
throw e;//抛出异常
程序员自己创建并抛出的对象必须通过throws或try{}、catch{}进行相应的处理。
如果异常被抛到顶层都没有捕捉就会将异常信息显示于顶层。当try{}块中的代码产生异常时,try{}块中的代码就会中断运行,并由catch{}块捕捉到产生的异常并作相应的处理,而try{}、catch{}后面的代码仍可正常执行。如果两种异常属于继承关系,则应按照从子到父的顺序进行处理。
由于Java有垃圾回收器,所以异常处理时不需要处理内存的回收问题,但是仍然有一些资源需要程序员来处理,比如文件、网络连接和图片等资源,这种情况可以在try{}、catch{}后加上finally{}块进行程序的清理工作,无论try{}块中有没有发生异常,finally{}块中的代码都一定会被执行。
通常在一个方法(类)的声明处通过throws声明方法(类)可能抛出的异常信息,而在方法(类)内部通过throw声明一个具体的异常信息;throw只能用于抛出一种异常,而throws可以抛出多个异常,比如:throws Exception1,Exception2{}。
时间: 2024-10-25 08:51:59