4异常

Posted 陈泽俊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4异常相关的知识,希望对你有一定的参考价值。

一、异常:指程序运行时出现的不正常情况,是对问题的描述,将问题进行对象的封装。

  1、在Java中错误分为两种情况:严重的(Error)、非严重的(Exception

      Error:Java通过Error类进行描述,一般不编写针对性的代码对其进行处理

      Exception:Java通过Exception类进行描述,可以使用针对性的处理方式进行处理

  2、在Java中异常被分为两大类:

      运行异常(RuntimeException):RuntimeException直接继承Exception类,Java中所有的运行时异常都会直接或间接的继承RuntimeException类。

      非运行异常(检测时)异常:Java中凡是继承Exception而不继承RuntimeException的类都是非运行异常

二、异常处理:

  1、对于非运行时异常,必须要对其进行处理,处理方式有两种:

    a)try……catch……finally进行捕获

    b)在调用会产生异常的方法所在的地方处声明(throws Exception

  2、对于运行时异常我们可以对其处理,也可以不对其进行处理。方法同上。 

         /***********************************************************************************************************/

    public static void div(int x, int y){
      try{
        /*
        * try里放可能会出现异常的代码
        */
        int i = x / y;
         System.out.println("i=" + i);
      }catch(Exception e){
        System.out.println("出错了。。。" + e.getMessage());
        System.out.println(e.toString());
        e.printStackTrace();
      }finally{
        /*
        * catch里面的语句执行完后执行finally里的语句
        * finally里面通常用来执行始终要运行的代码 比如关闭资源
        */
        System.out.println("finally里面的语句!!!");
      }
      System.out.println("over---div");
    }

           /***********************************************************************************************************/

    public static void div1(int x, int y) throws Exception {

      if(y == 0){
        throw new Exception("除数不能为0");// 抛出异常,那么方法上必须通过throws关键字声明异常 注意:抛异常的动作可以放在方法体的任意位置
      }
      int i = x / y;
      System.out.println("i=" + i);
    }

三、自定义异常:

           /**/

    public class MyException1 extends Exception {

        private String errorCode;// 错误代码
        public MyException1(){
      }
      public MyException1(String message){
        super(message);
      }
      public MyException1(String message, String errorCode){
        super(message);
        this.errorCode = errorCode;
      }

      public String getErrorCode() {

        return errorCode;
      }

      public void setErrorCode(String errorCode) {
        this.errorCode = errorCode;
      }
    }

 

以上是关于4异常的主要内容,如果未能解决你的问题,请参考以下文章

java基础——认识异常

java 19 - 4 编译期异常和运行期异常的区别

Spring Security入门(3-4)Spring Security 异常处理异常传递和异常获取

8. 异常

4.异常捕获后再次抛出

2017/4/14 异常