package com.atguigu.java2;public class StudentTest {    public static void main(String[] args)  {        try {            Student s = new Student();            s.regist(-1001);            System.out.println(s);        } catch (Exception e) {//            e.printStackTrace();            System.out.println(e.getMessage());        }    }}class Student{    private int id;    public void regist(int id) throws Exception{        if(id > 0){            this.id = id;        }else{//            System.out.println("您输入的数据非法!");            //手动抛出异常对象//            throw new RuntimeException("您输入的数据非法!");//            throw new Exception("您输入的数据非法!");            throw new MyException("不能输入负数");        }    }    @Override    public String toString() {        return "Student [id=" + id + "]";    }}
package com.atguigu.java2;/* * 如何自定义异常类? * 1.继承于现有的异常结构:RuntimeException、Exception * 2.提供全局常量:serialVersionUID * 3.提供重载的构造器 *   */public class MyException extends RuntimeException{    static final long serialVersionUID = -7034897193246939L;    public MyException() {    }    public MyException(String msg) {        super(msg);    }}