• 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);
        }

    三、自定义异常:

               /*项目中会出现特有的问题,而这些问题并未被Java所描述并封装对象,所以对这些特有的问题可以按照Java的对问题封装的思想,将特有的问题进行自定义的异常封装。通常继承Exception,这个类就是一个自定义异常类*/

        public class MyException1 extends Exception {

            private String errorCode;// 错误代码
            public MyException1(){
          }
          public MyException1(String message){
            super(message);//调用Exception里面的带参构造器
          }
          public MyException1(String message, String errorCode){
            super(message);
            this.errorCode = errorCode;
          }

          public String getErrorCode() {

            return errorCode;
          }

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

  • 相关阅读:
    每日总结50
    每日总结49
    每日总结48
    每日总结47
    每日总结46
    每日总结45
    每日总结44
    每日总结42
    每日总结41
    每日总结39
  • 原文地址:https://www.cnblogs.com/czj-zhm/p/5836565.html
Copyright © 2020-2023  润新知