课时120:throw关键字
摘要:与 Throws 对应的还有 Throw 关键字,此关键字的作用在于表示手工进行异常的抛出,即:此时将手工产生的一个异常类实例化对象,并且进行异常的抛出处理。所有的异常都是Exception 的子类,在这个过程里面, Exception 有多个方法。
1.1 Throws 的用法
New 一个 Exception 异常,输出“自己抛着玩的对象”,编译代码输出结果如下,会报错,如果写 Throw 方法,表示必须产生对象,必须使用 Try,Catch 进行异常处理。此时的异常对象不再是由系统生成的,而是由手工定义的。
代码如下:
Public class JavaDemo{ public static void main(string args[]) ( throw new Exception("自己抛着玩的对象。") ; }
编译结果如下:
此时使用 Try,Catch 方法处理,
代码如下:
Public class JavaDemo{ public static void main(string args[]) ( try { // 异常对象不再是由系统生成的,而是由手工定义的 throw new Exception("自己抛着玩的对象。") ; }catch (Exception e) { e.printstackTrace (); } } }
编译结果如下:
此时可以正常执行程序,不会报错。
1.2经典面试题
Throw 的主要作用是手工抛出异常,于是就有一个经典的面试题:请解释 Throws 和 Throw 的区别?
Throw:是在代码块中使用的,主要是手工进行异常对象的抛出。
Throws:是在方法定义上使用的,表示将此方法中可能产生的异常明确告诉给调用处,由调用处进行异常处理。