四、自定义异常                                                    
Java 语言允许用户在需要时创建自己的异常类型,用于表述JDK中未涉及到的其它异常状况,这些类型也必须继承Throwable类或其子类。用户自定义异常类通常属Exception范畴,依据命名惯例,应以Exception结尾。用户自定义异常未被加入JRE的控制逻辑中,因此永远不会自动抛出,只能由人工创建并抛出。
看一个用户自定义异常的例子:
程序:Test.java   
class MyException extends Exception {
    private int idnumber;      
    public MyException(String message, int id) {
        super(message);
        this.idnumber = id;
    }
    public int getId() {
        return idnumber;
    }
}
 
public class Test{
    public void regist(int num) throws MyException {
        if (num < 0) {
            throw new MyException(" 人数为负值,不合理",3);
        }          
        System.out.println(" 登记人数"+ num);
    }
    public void manager() {
        try {
            regist(-100);
        } catch (MyException e) {
            System.out.print(" 登记出错,类别:"+e.getId());
        }
        System.out.print(" 本次登记操作结束");
    }
    public static void main(String args[]){
        Test t = new Test();
        t.manager();
    }
}