java 异常处理之自定义一个异常类及其用法

1.定义异常类

  1. 自定义的异常类继承现有的异常类
  2. 提供一个序列号,作为对象的唯一标识
  3. 提供几个重载的构造器
  4. 自己或间接继承RuntimeException的自定异常类可以不用显示处理,反之,则需要显示处理。

2.dome

1.这里的自定义异常是在Eclipse中按Ctrl+shift+T,查看RuntimeException源码参照写的。

//如果是继承Exception,则在手动抛出的是时候显示处理,或者丢给jvm
class MyException extends RuntimeException {
          
   
	//序列号
 	static final long serialVersionUID = -70348971102145766939L;
	public MyException() {
          
   
		
	}
	public MyException(String msg) {
          
   
		super(msg);
	}
}
public class TestException4 {
          
   
	public static void main(String[] args) {
          
   
		Student s = new Student();
		s.register(-1);
		//自定义异常类,try-catch-finally中的使用
		try {
          
   
			s.register(-11);
		} catch (MyException e) {
          
   
			System.out.println(e.getMessage());
		}
		System.out.println(s);
	}
}
class Student{
          
   
	int id;
	public void  register(int id) {
          
   
		if(id>0) {
          
   
			this.id = id;
		}else {
          
   
			//手动抛出一个异常的使用
			throw new MyException("传入的id有误");
		}
	}
	@Override
	public String toString() {
          
   
		return "Student [id=" + id + "]";
	}
	
}

3.异常类继承关系图

经验分享 程序员 微信小程序 职场和发展