【笔记+作业】-抛出异常
Topic source(注意:IllegalArgumentException不属于RuntimeException子类的异常,是不需要捕获的异常)
你这句话写的有问题的,java异常那一节老师已经说了,不是RuntimeException子类的异常,是需要捕获的异常,否则编译不通过的。而且IllegalArgumentException是RuntimeException的子类,你可以去看源码。
- 1
(注意:IllegalArgumentException不属于RuntimeException子类的异常,是不需要捕获的异常)
你这句话写的有问题的,java异常那一节老师已经说了,不是RuntimeException子类的异常,是需要捕获的异常,否则编译不通过的。而且IllegalArgumentException是RuntimeException的子类,你可以去看源码。
爱竹子的大黑熊
首先明确抛出异常的目的:
是为了在代码执行发生错误的时候,停止,或者进行处理,以及抛出信息帮助程序员定位出现bug的位置
所以,需要在可能发生异常的地方,使用 throw 语句抛出异常
异常抛出之后,需要对异常进行捕获
(注意:IllegalArgumentException不属于RuntimeException子类的异常,是不需要捕获的异常)
如果某个方法或者函数,有可能抛出非RuntimeException子类的异常,则
(1)将调用这个方法或者函数的时候,将这个可能抛出异常的方法或者函数,放在try catch语句的 try 语句块中,使用 catch来捕获异常并处理
或者
(2)在定义这个可能出现异常的函数或者方法的时候就声明,可能抛出的异常,例如:
但是光声明还不够,也需要在调用这个方法或者函数的时候使用try catch语句捕获可能出现的异常
作业:
作业中,IllegalArgumentException不属于RuntimeException子类的异常,是不需要捕获的异常
所以在mian方法中,即使不使用try catch 语句,也能正常执行,不会出现编译不通过的情况