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