自定义异常

package com.test;
/*
 * 自定义异常:自定义的异常类.由于Exception里面有异常的基本功能,一般我们都写Exception的子类
 * 
 * 为什么要有自定义异常?
 * 答:系统没有定义的异常需要我们自己定义,我们解决的是系统异常没有处理的问题
 * 
 * 比如:除数为负数异常,   订单异常,  用户信息异常
 * 
 * 异常的分类:
 * 编译异常:在编译阶段抛出,处理异常----出运行时异常外的所有异常
 * 运行异常:在运行阶段抛出,处理异常----RuntimeException及它的子类
 * 
 * 对于编译异常:异常的处理,异常的抛出等系统都不管,都需要我们自己处理.
 * 
 * 异常处理的方式:
 * 1.异常的声明:异常声明后调用者去处理,调用者不处理,继续声明直到交给JVM
 * 2.trycatch:
 */
//让谁去处理异常比较合适?
//谁调用可能出现异常的方法,谁负责处理异常

//自定义除数为负数异常类
class FuShuException extends Exception {
	
	public FuShuException() {//无参
	}
	public FuShuException(String message) {
		super(message);//这行必须写
	}
}

public class Demo7 {
	public static void main(String[] args)throws FuShuException 
	{
		Math4 math4=new Math4();
		//一旦方法声明了异常,在调用方法的位置我们就要进行处理1.trycatch   2.继续 声明
		math4.div(3, -2);
//		try{
//			math4.div(3, 2);
//		}catch(Exception e){
//			e.printStackTrace();
//		}
	}
}
class Math4{
	public int div(int a,int b)throws FuShuException//声明异常,告诉别人我有肯发生异常
	{
		/*
		 * 想要的得到除数为负数的异常
		 * throw是抛出的意思
		 * throws是异常声明的关键字
		 */
		if(b<0){
			throw new FuShuException ("除数为负数了");//手动抛出除数为负数的异常
		}
		
		return a/b;
	}
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值