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