zoukankan      html  css  js  c++  java
  • 异常处理机制的简单原理和应用

    java使用面向对象的方式来处理异常,它把程序中发生的每个异常分别封装到一个对象中,该对象包含有异常的信息.所有异常的根类是Throwable,
    Throwable又派生了两个子类,Error和Exception,Exception包括运行时期异常和编译期异常

    运行时期异常的特点:

    ①方法定义中无需throws声明,调用者也无需try-catch处理此异常.

    ②运行时期异常一旦发生,需要程序人员修改源代码.(这些异常通常是由于逻辑错误引起的)

    一般异常(编译时异常):

    必须进行处理的异常,如果不处理,程序就不能编译通过,可以通过try..catch处理或用throws声明继续抛给上层调用方法处理

    error:

    Error错误通常没有具体的处理方式,程序将会结束运行。Error错误的发生往往都是系统级别的问题,都是jvm所在系统发生的,并反馈给jvm的。我们无法针对处理,只能修正代码。

    常见的运行时异常有:

    NullPointerException //空指针异常

    ClassCastException //类型转换异常

    ArrayIndexOutOfBoundsException //数值越界异常

    ArithmeticException //算术异常

    IllegalArgumentException //非法参数异常

    IllegalStateException //无效状态异常

    异常处理时需要注意的问题

    ①java异常处理用到了多态的概念,如果在异常处理过程中,先捕获了基类,然后在捕获子类,那么捕获子类的代码块永远不会执行.因此,在进行异常捕获时,正确的写法是先捕获子类,再捕获父类的异常信息

    正确的写法

    try{

    }catch( SQLException e){

    }catch(Exception){

    }

    ②异常能处理就处理,不能处理就抛出.对于一般异常,如果不能进行行之有效的处理,最好转换成运行时异常抛出

  • 相关阅读:
    CSS盒子模型
    getContextPath、getServletPath、getRequestURI、request.getRealPath的区别
    MYSQL中的CASE WHEN END AS
    单点登录的精华总结
    git&github
    June 21st 2017 Week 25th Wednesday
    June 20th 2017 Week 25th Tuesday
    June 19th 2017 Week 25th Monday
    June 18th 2017 Week 25th Sunday
    June 17th 2017 Week 24th Saturday
  • 原文地址:https://www.cnblogs.com/miniSimple/p/12275920.html
Copyright © 2011-2022 走看看