自定义异常类

自定义异常类

自定义异常类可分为三步:
1.创建一个类,比如我要创建一个关于体温的异常类,叫做TemperatureException.
2.让自己创建的类继承自一个异常类,如果继承自编译时异常类,那么自定义的异常类就是编译时异常类;如果继承自运行时异常,那么自定义异常类就是运行时异常类。
比如让TemperatureException继承自Exception类,那么TemperatureException就是编译时异常类。
3.自定义异常类中要定义一个构造方法,该构造方法具有一个String类型的形参,并且该方法用super()调用父类的具有一个String类型参数的构造方法

在这里插入图片描述

public class CheckTemperature {
	private String name;
	private double temp;
	public CheckTemperature(String name, double temp) {
		super();
		this.name = name;
		this.temp = temp;
	}
	
	    public double getTemp() {
		return temp;
	}
		public void throwException(double temp) throws TemperatureException{
	        if (temp<35){
	            throw new TemperatureException(name+"挂了");
	        }else if(temp<=37) {
	        	System.out.println(name+"正常温度为"+temp+"度");
	        }else if(temp<=42) {
	        	System.out.println(name+"发烧到"+temp+"度");
	        }else if(temp>42) {
	    	throw new TemperatureException(name+"烧着了");
	    }
	}
}

自定义体温异常类

public class TemperatureException extends Exception {
	private String message;

	public TemperatureException(String message) {
		super(message);
		this.message = message;
	}
//构造器中super()调用父类
//    public String getMessage(){
//        return message;
//    }
}

测试类

	   public void test() {
		   CheckTemperature ex1 = new CheckTemperature("某某某名男子1",30);
		   CheckTemperature ex2 = new CheckTemperature("某某某名男子2",37);
		   CheckTemperature ex3 = new CheckTemperature("某某某名男子3",39);
		   CheckTemperature ex4 = new CheckTemperature("某某某名男子4",43);
		   try{
			   ex1.throwException(ex1.getTemp());
			   ex2.throwException(ex2.getTemp());
			   ex3.throwException(ex3.getTemp());
			   ex4.throwException(ex4.getTemp());
		   }catch (TemperatureException TE){
			   System.out.println("TemperatureException:"+TE.getMessage());
		   }
	   }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值