Java基础复习:异常

异常的分类

Java中的异常时对象。异常继承自java.lang.Throwable类。

检查型异常(Checked exception):Java中最主要的异常,编译器进行检查“方法只抛出它自己声明要抛出的异常”

非检查型异常(unChecked exception):RuntimeException类和Error类

你创建的异常必须是继承Exception类的检查型异常

异常的一般格式

try{
	//可能出现异常的语句
}catch(Exception e)
{
	e.printStackTrace();
}finally
{
	//必须处理的语句(可选)
}

Throws关键字

定义方法时,在方法参数列表后用 throws 关键字声明一下,该函数有可能发生异常及异常的类别。这样,调用者在调用该方法时,就必须用 try...catch 语句进行处理,否则,编译将无法通过。

	class Test
	{
		public int devide(int x, int y) throws Exception
		{
			int result = x/y;
			return x/y;
		}
	}

 

	public class TestException
	{
		public static void main(String[] args)
		{
			try
			{
				in result = new Test().devide(3,1);
				System.out.println("the result is"+result);
			}
			catch(Exception e)
			{
				e.printStackTrace();//最好写上
			}
		}
	}

Throw关键字

Java通过 throw 关键字抛出异常对象。在一个方法内使用 throw 关键字抛出异常对象,如果该方法内部没有用 try ... catch 语句对这个抛出的异常进行处理,这此方法应声明抛出异常,而由该方法的调用者负责处理。

	class Test
	{
		public int devide(int x,int y)throws ArithmeticException,DevideByMinusException
		{
			if(y < 0)
				throw new DevideByMinusException("被除数为负",y);
			/*
			这里抛出的异常对象,就是调用者catch(Exception e){}语句中接收的变量e 
			*/
			int result = x/y;
			return x/y;
		}
	}

自定义异常

必须继承 Exception 类,如下,我们定义这个负数异常类

	class DevideByMinusException extends Exception
	{
		int devisor;
		public DevideByMinusException(String msg,int devisor)
		{
			super(msg);
			this.devisor = devisor;
		}
		public int geDevisor()
		{
			return Devisor;
		}
	}

Java7 新特性

多异常处理:可同时捕获多个异常,即可同时使用多个catch子句

try-with-resource:自动关闭资源(在文件部分复习)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值