Java从入门到精通 第12章 异常处理

目录

异常

Java常见异常

自定义异常

运行时异常


异常

try-catch-finally

  • e.getMessage(); 输出错误性质
  • e.toString(); 输出类型和性质
  • e.printStackTrack(); 指出异常的类型、性质、栈层次及出现在程序中的位置
  • catch异常按顺序进行捕捉
package ex12_Exception;


public class Take {
    public static void main(String[] args) {
        try {  //try语句中包含可能出现异常的代码
            String str = "hi";
            System.out.println("str: " + str);
            int age = Integer.parseInt("20L");
            System.out.println("age: " + age);
        } catch (Exception e) {  //获取异常信息
            e.printStackTrace();  //输出异常性质
        }
        System.out.println("program over");
    }
}

Java常见异常

自定义异常

package ex12_Exception;

class MyException extends Exception {  //创建自定义异常,继承Exception
    public MyException(String ErrorMessage) {  //构造方法
        super(ErrorMessage);  //父类构造方法
    }
}

public class Tran {
    static int avg(int number1, int number2) throws MyException {
        if (number1 < 0 || number2 < 0) {  //判断是否满足条件
            throw new MyException("不可使用负数");  //抛出异常信息
        }
        if (number1 > 100 || number2 > 100) {
            throw new MyException("数值太大了");
        }
        return (number1 + number2) / 2;
    }

    public static void main(String[] args) {
        try {  //处理可能出现异常的代码
            int result = avg(102, 150);  //调用avg()方法
            System.out.println(result);
        } catch (MyException e) {
            System.out.println(e);  //输出异常信息
        }

    }
}

运行时异常

Java类库的每个包中都定义了异常,所有这些类都是Throwable的子类,Throwable派生出两个子类,Exception类和Error类

发布了46 篇原创文章 · 获赞 0 · 访问量 1026

猜你喜欢

转载自blog.csdn.net/weixin_37680513/article/details/103405992