1.Throwable fillInStackTrace():

        用于在Throwable对象的内部记录栈帧的当前状态。这在程序重新抛出错误或异常时很有用。如果只是把当前对象重新抛出,那么printStackTrace()方法显示的将是原来异常抛出点的调用栈信息,而非重新抛出点的信息。要想更新这个信息,可以调用fillInStackTrace()方法,这将返回一个Throwable对象,它是通过把当前调用栈信息填入原来那个异常对象而建立的。

2.Java标准异常:

        Throwable这个Java类被用来表示任何可以做为异常被抛出的类。Throwable对象可以分为两种类型(Throwable的子类):Error用来表示编译时和系统错误(一般不用关心);Excetion是可以被抛出的基本类型,在Java类库、用户方法以及运行时故障中都可能抛出Exception型异常。所以Java程序员关心的基本类型通常是Exception。

3.属于运行时异常的类很多,它们会自动被Java虚拟机抛出,所以不必在异常说明中把它们列出来。

4.异常链:
        有时需要在捕获一个异常后抛出另一个异常,并且希望把原始异常的信息保存下来,这被成为“异常链”。Throwable的子类在构造器中可以接受一个cause对象做为参数。这个cause就用来表示原始异常,这样把原始异常传递给新的异常,使得即使在当前位置创建并抛出新的异常,也能通过这个异常链追踪到最初发生的位置。在Throwable的子类中,只有基本的异常类提供了带cause参数的构造器,即:error,Exception与RuntimeException。如果要把其他类似的异常链接起来,应该使用initCause()方法而不是构造器。
评论
发表评论

您还没有登录,请登录后发表评论

yanshiyi
搜索本博客
最近加入圈子
存档
最新评论