• 目录

自定义异常

阅读量: 123 编辑

自定义异常

一、如何自定义异常

  • 可以通过继承 Exception 或它的子类来实现自己的异常类

  • 一般而言,对于自定义的异常类,会设计两个构造器:

    • 一个默认的不带参数的构造器

    • 一个带参数的构造器,用于传递详细的出错信息

  • 通过 e.printStackTrace() 来查看异常栈里面的信息

二、代码实战

代码的详细解读,可以参考视频教程

自定义异常:MyDivideException.java

package com.qicong.gj.c23;

/**
 * User: 祁大聪
 */
public class MyDivideException extends ArithmeticException{

    //除法自定义异常,被除数是不能为 0
    public MyDivideException(){

    }

    public MyDivideException(String msg){
        super(msg);
    }

    @Override
    public String toString(){
        return "我是自定义异常, MyDivideException" + super.getMessage();
    }

}

测试类:S23.java

package com.qicong.gj.c23;

import java.io.BufferedInputStream;
import java.io.FileInputStream;

/**
 * User: 祁大聪
 */
public class S23 {

	//抛出自定义的异常
    public static void testDivide(int x, int y) throws MyDivideException{
        if(y == 0){
            throw new MyDivideException("分母不能为0");
        }
        System.out.println(x/y);
    }

    public static void main(String[] args) {
        try {
            testDivide(10,0);
        } catch (MyDivideException e) {
            e.printStackTrace();
        }
    }

}
  • 目录