手动throw异常对象
1.为什么需要手动抛出异常对象?
在实际开发中,如果出现不满足具体场景的代码问题,我们就有必要手动抛出一个指定类型的异常对象。
2.如何理解"自动 vs 手动"抛出异常对象?
过程1:“抛”
- “自动抛”:程序在执行的过程当中,一旦出现异常,就会在出现异常的代码处,自动生成对应异常类的对象,并将此对象抛出。
- “手动抛”:程序在执行的过程当中,不满足指定条件的情况下,我们主动的使用"throw+异常类的对象"方式抛出异常对象。
过程2:“抓”
- 狭义上讲:
try-catch
的方式捕获异常,并处理。 - 广义上讲:把"抓"理解为"处理"。则此时对应着异常处理的两种方式:①
try-catch-finally
②throws
3.如何实现手动抛出异常?
在方法内部,满足指定条件的情况下,使用"throw+异常类的对象"的方式抛出。
4.注意点:throw后的代码不难执行,编译不通过。
5.面试题:throw和throws的区别?
throw
是用来主动抛出异常的行为,而 throws
是用来声明函数可能抛出的异常类型的语法。