JAVA中的异常

1.异常的分类

异常的根接口Throwable,其下有2个子接口,Error和Exception。

  •  Error:指的是JVM错误,这时的程序并没有执行,无法处理;
  • Exception:指的是程序运行中产生的异常,用户可以使用处理格式处理。
  • 三种类型的异常:

    检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略。
    运行时异常: 运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。
    错误: 错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们在编译也检查不到的。

  • Java异常机制用到的几个关键字:try、catch、finally、throw、throws

    try        -- 用于监听。将要被监听的代码(可能抛出异常的代码)放在try语句块之内,当try语句块内发生异常时,异常就被抛出。
    catch   -- 用于捕获异常。catch用来捕获try语句块中发生的异常。
    finally  -- finally语句块总是会被执行。它主要用于回收在try块里打开的物力资源(如数据库连接、网络连接和磁盘文件)。只有finally块,执行完成之后,才会回来执行try或者catch块中的return或者throw语句,如果finally中使用了return或者throw等终止方法的语句,则就不会跳回执行,直接停止。
    throw   -- 用于抛出异常。
    throws -- 用在方法签名中,用于声明该方法可能抛出的异常。主方法上也可以使用throws抛出。如果在主方法上使用了throws抛出,就表示在主方法里面可以不用强制性进行异常处理,如果出现了异常,就交给JVM进行默认处理,则此时会导致程序中断执行。

常见的异常

    1. 输入输出异常:IOException
    2. 算术异常类:ArithmeticExecption
    3. 空指针异常类:NullPointerException
    4. 类型强制转换异常:ClassCastException
    5. 操作数据库异常:SQLException
    6. 文件未找到异常:FileNotFoundException
    7. 数组负下标异常:NegativeArrayException
    8. 数组下标越界异常:ArrayIndexOutOfBoundsException
    9. 违背安全原则异常:SecturityException
    10. 文件已结束异常:EOFException
    11. 字符串转换为数字异常:NumberFormatException
    12. 方法未找到异常:NoSuchMethodException
//                            _ooOoo_  
//                           o8888888o  
//                           88" . "88  
//                           (| -_- |)  
//                            O = /O  
//                        ____/`---'\____  
//                      .   ' \| |// `.  
//                       / \||| : |||//   
//                     / _||||| -:- |||||-   
//                       | | \ - /// | |  
//                     | \_| ''---/'' | |  
//                       .-\__ `-` ___/-. /  
//                   ___`. .' /--.-- `. . __  
//                ."" '< `.___\_<|>_/___.' >'"".  
//               | | : `- \`.;` _ /`;.`/ - ` : | |  
//                   `-. \_ __ /__ _/ .-` / /  
//         ======`-.____`-.___\_____/___.-`____.-'======  
//                            `=---='  
//  
//         .............................................  
//                  佛祖保佑             永无BUG 
//          佛曰:  
//                  写字楼里写字间,写字间里程序员;  
//                  程序人员写程序,又拿程序换酒钱。  
//                  酒醒只在网上坐,酒醉还来网下眠;  
//                  酒醉酒醒日复日,网上网下年复年。  
//                  但愿老死电脑间,不愿鞠躬老板前;  
//                  奔驰宝马贵者趣,公交自行程序员。  
//                  别人笑我忒疯癫,我笑自己命太贱;  
//                  不见满街漂亮妹,哪个归得程序员?

  

 

原文地址:https://www.cnblogs.com/hoganhome/p/14567545.html