自定义异常处理

package com.exception;

//自定义异常一般继承Exception,如果想定义RunTimeException异常,继承RuntimeException
//1、必须提供一个无参数构造器和一个带字符串有参数构造器,提供getMessage返回值。
//getMessage只能打印出自定义的字符串,不能打印出哪行代码错误。
//如果异常不用try处理一直用throws往上抛,会一直抛到最后一个方法然后,打印错误给控制台。
public class ActionException extends Exception{
	
	public ActionException(){}
	public ActionException(String name){
		super(name);
	}
//创建一个可以接受异常信息的参数构造器 Throwable接收Exception信息。
//Throwable是Exception父亲, 多态。
	public ActionException(Throwable thr){
		super(thr);
	}

}
_________________________________________________________________

package com.exception;

public class TestException {
	public double init = 30.0;
	
	public void bid(String bidPrice) throws ActionException
	{
		double d = 0.0;
		try {
			d = Double.parseDouble(bidPrice);
		} catch (Exception e) {
			e.printStackTrace();
			throw new ActionException("竞拍价必须是数值,不能包含其他字符!");
		}
		if(init >d)
		{
			throw new ActionException("竞价比起拍价格低");
		}
		init = d;
	}
	public static void main(String[] args) {
		TestException t = new TestException();
		try {
			t.bid("d");
		} catch (ActionException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			System.err.print(e.getMessage());
		}
	}

}

 

你可能感兴趣的:(自定义异常)