Java day07 异常

/*
异常 是对 程序运行过程中可能出现的错误的封装
级别 一般错误 Exception 严重错误 Error
作用:暴露错误,对传入参数进行甄别

结构throws 异常类名——写在可能出现异常的方法声明后
	
	try{可能出现错误的代码}
	catch(异常类/变量){处理方式}——catch可以不写/可以有多个catch(类似于case),但处理完第一个问题之后就结束程序
	finally即便catch中有return,仍然执行的部分,举例 取消与数据库的连接,释放资源
	处理完问题后程序终止
	
	若在方法内部出现throw关键字,
	要么try,catch捕获异常,要么在可以方法声明throws 抛给调用者——对涉及该可疑代码的方法都要如此
异常类 越具体越好

实际操作时,在catch中使用输入输出流存储至文件日志中

自定义异常——对违反自己定义的规则时的处理

throws 和throw 的区别 
位置 前者在方法声明上,后者在方法体中
后接  前者后接若干个异常类(逗号隔开),后者跟异常对象
方法内抛throw,方法声明要标识throws(RuntimeException的子类除外)
但是呢,若throw的异常对象在本方法内解决,即有了catch(){没抛},则不用声明
RuntimeException 若在方法体内抛出异常,方法上不用声明
				若在方法上声明了,调用该方法的方法无需处理(try/抛)
				定义:运行时错误,当到此错误时,运行中止,让程序员修改错误
*/


class NegativeException extends Exception
{
}
class Divide
{
	int div(int x,int y)throws NegativeException
	{
		if(y<0)
			throw new NegativeException();
		return x/y;
	}
}

class Divide_0_Exception
{
	public static void main(String[] args) 
	{
		Divide d=new Divide();
		try
		{
			int r=d.div(4,-1);
		}
		catch (NegativeException n)
		{
			System.out.println("Have divided negative number");
		}
		System.out.println("Over");

	}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值