美文网首页
java异常总结

java异常总结

作者: 孙睿888 | 来源:发表于2016-09-06 21:50 被阅读0次

    提示: 几种常见异常
    ArithmeticException数学算数错误异常
    ArrayIndexOutOfBoundsException数组越界
    ClassCastException 类型转换异常
    InputMismatchException用户输入异常
    NullPointerException空指针异常
    FileNotFoundException文件没有找到
    IllageArgumentExceotion 非法的参数
    1 异常:既是一种意外,是程序没有按照正常或期望的方式进行。
    2 必须对检查型异常进行处理 SQLExceptions try -catchinally throws
    3 final可选 catch可选但是二者不能同时为空
    try:中的异常,系统(JVM虚拟机)自动检测是什么异常
    catch的异常,是子父类的关系。产生异常,从上到下匹配.一定先捕获子类异常,再捕获父类异常。
    catch最后一个异常,要用Exception进行拦截,拦截所有的异常
    不希望后续的代码有影响
    throws 异常之后的语句也不执行
    异常被捕获的那条语句会执行,但不会输出结果,因为这句话有错误。不会执行。
    String s;
    try{
    System.out.println("adfaf"+s.length);//会执行,但不会有结果,因为已经有错误
    }catch(){
    }
    try -finally try中有错误,没有人去理会这个错误,因为会抛出异常没有人去管理他,后续的代码不会执行
    将全部的代码放进try中,一条有错误整个后续程序都不会执行,很危险。只要有可能发生危险的地方用try-catch接受 或者像上抛出异常
    4 执行过程
    1)当Java程序执行try块,catch块的时候遇到了return 或throws语句,这两个语句都会导致该方法结束,
    (2)但是系统执行这两个语句并不会结束该方法,而是去寻找异常处理中是否包含finally块,
    (3)如果包含finally块,先去执行finally块----只有当finally块执行结束后系统才会再次跳回到try块和catch块里面的return或者throw,
    (4)如果finally块也使用了return 或throw等导致该方法结束的语句,finally块已经终止了该方法,系统不会再跳回try块、catch块里面的任何代码;
    所以我们尽量避免在包装类里面使用throw 或 return
    5 检查型 非检查型异常
    (1) 受检异常 ( 检查型异常)SQLExpection编译的时候就出现
    java编译器在编译阶段就会抛出的异常。要求程序员必须捕获或声明抛出的异常
    (2)运行时异常、上面的各种异常都是运行时异常; 运行的时候抛出异常
    (3)Error不可恢复的异常,由JVM虚拟机抛出的不可逆转的异常
    内存溢出 磁盘空间不足
    6 实际开发中一般不会自己定义异常,会影响开发效率
    自定义的异常要继承Exception类
    7 throws向上抛出异常
    8异常:自定义的异常必须显示抛出异常,否则程序虚拟机无法识别

    相关文章

      网友评论

          本文标题:java异常总结

          本文链接:https://www.haomeiwen.com/subject/urtjettx.html