异常---Exception的处理

.在代码编程中有异常Exception与错误error两种,他们都是继承于 Throwable ---是根类,在 Java 中只有 Throwable 类型的实例才可以被抛出(throw)或者捕获(catch)其中错误Error 是 Java 程序运行中不可预料的异常情况,这种情况不能用代码解决问题,这种错误往往是硬件问题或者是运行问题。所以这种异常不可能抓取到,比如 OutOfMemoryError、NoClassDefFoundError等。

我在代码编写中遇到的主要问题还是Exception.。异常一旦发生,JVM根据发生异常的类型,产生该异常的对象,然后将对象交给代码处理,如果没有处理,就会结束这个发生异常的方法,带着方法返回方法调用处,看有没有处理没有就在向上返回,一层一层直到处理了。如果一直都没有那么就返回到main方法,那么JVM就会结束程序并打印报错。而Exception主要分为两类,一类是编译时异常,另一类是运行时异常RuntimeException/uncheckException,可以忽略捕获操作

一般运用try...catch...finally也可以运用try...catch,try...finally,不可以运用try或者finally;一般try块中书写可能发生异常的正常逻辑代码,试运行,如估计没有报错,就会按顺序一直运行,如果报错的话,就会停止运行当前代码,跳转到捕获中好(catch{})。其中finally一般用在捕获异常中,最后一定会执行的,一般用来关闭流或者数据库的连接。在try块中如果使用return则代表结束,先返回数据,而finally中执行的数据不能覆盖try块中的数据。异常可以是多个异常,那么就可以在try块后跟多个catch块来处理不同的异常,但是要注意捕获异常的顺序,将捕获子类放在前面,捕获父类放在后面,将finally放在最后,finally指不论是否发生异常都会执行的代码,无论是break或者return都无法阻止他的执行,能阻止他的只有System.exit(0);

finally的执行是在return这个动作之前,又在return准备之后。

猜你喜欢

转载自www.cnblogs.com/wanggang1987/p/11971554.html
今日推荐