RuntimeException,运行时异常,编译时能通过,运行时发生无法解决的问题,例如div(4,0)的那个例子,4除0压根就不能被处理,代码本身存在BUG,必须停掉进行修改,处理RE异常不是try-catch能解决的,必须更改代码。还有ArrayIndexOutOfBoundsException,数组下标越界,数组定义的长度不够实际使用,不修改代码肯定会报错,都是RE异常,try-catch在这里使用毫无意义。 所以毕老师说(RE异常): 如果在函数内容抛出该异常,函数上可以不用声明,编译一样通过。 如果在函数上声明了该异常。调用者可以不用进行处理。编译一样通过; 之所以不用在函数声明,是因为不需要让调用者处理。》》》因为调用者压根无法处理 当该异常发生,希望程序停止。因为在运行时,出现了无法继续运算的情况,希望停止程序后,对代码进行修正。 编译时异常,是会编译时会被检测的异常,必须抛出或try-catch,意思是这段代码可能会出现问题,调用者必须对其进行处理,你如果不处理,就让编译失败。它是能被处理的异常。 |