`

Java异常处理

    博客分类:
  • Java
 
阅读更多

Java异常与错误处理

 

1、通过System.err打印异常信息

这比错误信息输出到System.out要好,因为System.out也许会被重定向。但是把结果发送到System.err,就不会随System.out一起重定向。

 

2、Throwable.printStackTrace()方法

打印调用处直到异常抛出处。

 

3、异常说明

 

 

void f() throws TooBiger, TooSmall, DivZero{

//...

} 

 

 

程序代码必须与异常说明一致。如果方法里的代码产生了异常却没有进行处理,编译器会发现这个问题并提醒:要么处理这个异常,要么就在异常说明中表明此方法将产生异常。

 

4、捕获所有异常

 

 

catch(Exception ex){
   System.err.println("Caugth an exception.");
} 

 

这将捕获所有异常。所以,最好把它放在异常处理程序的末尾,以防止它抢在其他处理程序之前先把异常捕获了。

 

5、重新抛出异常

重抛异常会把异常抛给上一级环境中的异常处理程序。同一个try块的后续catch子句将被忽略。

printStackTrace()方法显示的将是原来异常抛出点的调用栈信息,而非重新抛出点的信息。如果要更新这个信息,可以调用fillStackTrace()方法。这将返回一个Throwable对象,它是通过把当前调用栈信息填入原来那个异常对象而建立的。

 

6、Java标准异常

Throwable类被用来表示任何可以作为异常被抛出的类。 Throwable对象可以分为两种类型(从Thorwable类继承的类型):ERROR用来表示不用关心的编译器和系统错误(除了特殊情况);Exception是可以被抛出的基本类型,在Java类库、用户方法以及运行时故障中都可能抛出Exception型异常。

 

7、运行时异常的特例

运行时异常的类型有很多。例如:NullPointerException。这些异常自动被Java虚拟机抛出,它们都是从RuntimeException类继承而来。它们也被称为"未被检查的异常"。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics