异常处理

即使在编译时没有错误信息产生,但在程序运行时,经常会出现一些运行时的错误,这种错误对Java而言是一种异常。有了异常就要有相应的处理方式


异常的基本概念

异常也称为例外,是在程序运行过程中发生的、会打断程序正常执行的事件,下面是几种常见的异常;
1、算术异常(ArithmeticException)。
2、没有给对象开辟内存空间时会出现空指针异常(NullPointerException)。
3、找不到文件异常(FileNotFoundException)。

所以在程序设计时,必须考虑到可能发生的异常事件,并做出相应的处理。这样才能保证程序可以正常运行。
Java的异常处理机制也秉承着面向对象的基本思想。在Java中,所有的异常都是以类的类型存在,除了内置的异常类之外,Java也可以自定义的异常类。此外,Java的异常处理机制也允许自定义抛出异常。


简单的异常范例

public class TestException7_1
{
	public static void main(String args[])
	{
		int arr[]=new int[5]; // 容许5个元素
		arr[10]=7; // 下标值超出所容许的范围
		System.out.println("end of main() method !!");
	}
}
编译的时候程序不会发生任何错误,但是在执行到第6行时,会产生下列的错误信息:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10
at TestException7_1.main(TestException7_1.java:6)

错误的原因在于数组的下标值超出了最大允许的范围。Java发现这个错误之后,便由系统抛出“ ArrayIndexOutOfBoundsException”这个种类的异常,用来表示错误的原因,并停止运行程序。如果没有编写相应的处理异常的程序代码,则Java的默认异常处理机制会先抛出异常、然后停止程序运行。

异常的处理

异常处理是由try、catch与finally三个关键字所组成的程序块,其语法如下:


1、try程序块若是有异常发生时,程序的运行便中断,并抛出“异常类所产生的对象”。
2、抛出的对象如果属于catch()括号内欲捕获的异常类,则catch会捕捉此异常,然后进到catch的块里继续运行。
3、无论try程序块是否有捕捉到异常,或者捕捉到的异常是否与catch()括号里的异常相同,最后一定会运行finally块里的程序代码。


在程序中抛出异常

throw 异常类实例对象

throw new ArithmeticException("一个算术异常"); // 抛出异常


指定方法抛出异常

方法名称(参数…) throws 异常类1,异常类2,…


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值