异常处理

1.异常可能由程序员没有预料到的各种情况产生,也可能由超出了程序员可控范围的环境因素产生,如果用户的坏数据、试图打开一个根本不存在的文件等。

2.在Java中,这种在程序运行时可能出现的一些错误称为异常,异常是一个在程序执行期间发生的事件,它中断了正在执行的程序的正常指令流。

3.以上运行的结果报告发生了算术异常ArithmeticException,系统不再执行下去,提前结束。

4.为了保证程序有效地执行,需要对抛出的异常进行相应的处理。在Java中,如果某个方法抛出异常,既可以再当前方法中进行捕捉,而后处理该异常也可以将异常向上抛出,交由方法调用者来处理

5.异常抛出后,如果不做任何处理,程序就会被终止。

6.Java语言的异常捕获结构由try、catch和finally 3部分组成。其中try语句块存放的是可能发生异常的Java语句;catch语句块在try语句块之后,用来激发被捕获的异常;finally语句块是异常处理结构的最后执行部分,无论try语句块中的代码如何退出,都将执行finally语句块。

7.程序仍然输出最后的提示信息,没有因为异常而终止。当try语句块中的语句发生异常时,程序就会跳转到catch语句块中执行,执行完catch语句块中的程序代码后,将继续执行catch语句块后的其他代码,而不会执行try语句块中发生异常语句后面的代码。由此可知,Java的异常处理是结构化的,不会因为一个异常影响整个程序的执行。

8.有时为了编程简单会忽略catch语句后的代码,这样try-catch语句就成了一种摆设,一旦程序在运行过程中出现了异常,就会导致最终运行结果与期望不一致,而错误发生的原因很难查找,因此要养成良好的编程习惯,最好在catch语句块中写入处理异常的代码。

9. finally语句块:完整的异常处理语句一定要包含finally语句,无论程序中有无异常发生,并且无论之前的try-catch语句块是否顺利执行完毕,都会执行finally语句。但是,在以下4种特殊情况下,finally块不会被执行:

 10.throws 关键字通常被应用在声明方法时,用来指定方法可能抛出的异常。多个异常可使用逗号分隔。使用thorws关键字将异常抛给上一级后,如果不想处理该异常,可以向上继续抛出,但是最终要有能够处理该异常的代码。

11.throw关键字通常用于方法体中,并且抛出一个异常对象。程序在执行到throw语句时立即终止,它后面的语句都不执行。如果要捕捉throw抛出的异常,则必须使用try-catch语句块。throw通常用来抛出用户自定义异常。

posted @ 2023-09-07 13:52  小粥123456789  阅读(90)  评论(0)    收藏  举报