`
imBa_MarlBoro
  • 浏览: 4140 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
最近访客 更多访客>>
社区版块
存档分类
最新评论

15.01.2011

阅读更多
谈谈Java中的异常处理机制         

      异常是程序员在写代码的时候无可避免的绊脚石。如何检错也成了各个程序员的必修课。
      相信许多在用VC6.0的初学者一定对他的检错头疼不已,一个程序改来改去,却还是发不现错误的来由。而在完全面向对象的Java语言中检错也似乎变得了简单起来。
      既然是完全的面向对象,错误也无可例外的成为了类。向我们常见的Exception类就是一个异常类。而Java中给所有的错误类建立了一个完善的继承关系。所有错误的父类都是Throwable类。而他的两大子类Exception(异常类)和Error(错误类)则使得Java程序员可以很好的捕捉到代码的bug以便程序员做出及时的修改。
      究竟什么是错误和异常呢?
      相信各位程序员在编写程序的时候都会常常遇到这些语句:java.lang.StackOverflowException; java.lang.NullPointerException; java.lang.ArrayIndexOutOfBoundsException.等等
      其实这些红字就是Java对栈溢出,空指针和数组越界的处理。遇到了这些错误那么你就得留意你的数组循环之类易出错的地方了。
      那么,如何捕捉异常呢?
      Java中设置了许多的关键字来捕捉异常,首先我们来看try-catch-finally模式块。
try {
//对这里的代码做尝试性的运行,如果出现异常,则跳入catch块的
//代码
} catch ( Exception e ) {
//这里的代码是对出现异常情况下进行的处理
} finally {
//finally块中代码做清除扫尾的工作
}
try-catch语句例如下:

public class ExceptionTest {
	public static void main(String args[]){
		int num = 200;
		ExceptionTest et = new ExceptionTest();
		et.A(num);
	}
	public void A(int num){
		 try{
			 if(num>0 && num<100){
				 System.out.println("结果正确!");
			 }else{
				 Exception e = new Exception();
				 throw e;
			 }
		 }catch(Exception e){
			 System.out.println("结果超出范围");
			 e.printStackTrace();
		 }
	}
}

运行结果如下:
结果超出范围
java.lang.Exception
at ExceptionTest.A(ExceptionTest.java:13)
at ExceptionTest.main(ExceptionTest.java:6)

try-catch语句是大伙最常用的语句了,可条条道路通罗马,Java中对异常的处理并不只有这一种,另一种就是在可能出现异常的方法后面加上throws语句,调用该方法的所有方法均要加上,再在出现异常代码区域加上throw语句,如下例
例:

public class ExceptionTest {
	public static void main(String args[])throws Exception{
		int num = 200;
		ExceptionTest et = new ExceptionTest();
		et.A(num);
	}
	public void A(int num) throws Exception{
		if(num>0 && num<100){
			System.out.println("结果正确!");
		}else{
			System.out.println("结果超出范围!");
			Exception e = new Exception();
			throw e;
		}
	}
}

运行结果为:
结果超出范围!
Exception in thread "main" java.lang.Exception
at ExceptionTest.A(ExceptionTest.java:19)
at ExceptionTest.main(ExceptionTest.java:7)
     利用throws和throw或者try-catch-finally可以方便的找到出错位置和出什么错误。作为一个合格的Java程序员应该将其熟练掌握。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics