自定义异常

package Exception;
/*
 * 自定义异常
 * 
 * 我们在实际开发中,会出现一些特有的问题,而这些问题,在java中并没有被封闭好,所以程序员需要自定义一些异常类
 */
public class customException {
	public static void main(String[] args) {
		try {
			div(4, -3);
		} catch (FuShuException fs) {
//			fs.printStackTrace(); // 将异常的详情打印在控制台上
			System.out.println("对不起,除数不能为负数!!!"); // 在控制台上打印这句知
			System.out.println(fs.getMessage());	//调用异常类中的getMessage方法
		}catch(ArithmeticException ar){
//			ar.printStackTrace();	//将异常详情打印在控制台上
			System.out.println("对不起,除数不能为零!!!");
		}
	}

	//因为该函数可能出现异常,所以需要使用throws关键字抛出
	public static int div(int a, int b) throws FuShuException, ArithmeticException{
		//判断,如果被除数为负数的情况下,就创建一个FuShuException异常,并且在方法上面抛出,否则就正常执行
		if (b < 0) {
			throw new FuShuException("出现了除数是负数的情况"); // 手动通过throw关键字抛出一个自定义异常对象
		} else {
			return a / b;
		}
	}
}

// 在本实例中,除数不能为零,并且除数不能小于0(不能为负数)
class FuShuException extends Exception { // 定义一个类,继承Exception类,该类就是异常类了
	
	//因为在父类中已经敢message方法,所以子类在构造时,只需将异常信息传递给父类,只需要通过super语句即可
	public FuShuException(String message) {
		//访问Throwable类中的getMessage方法 
		super(message);
	}
}

  

posted on 2013-07-27 19:58  樱花满天  阅读(178)  评论(0)    收藏  举报

导航