JAVA异常getMessage()方法调用构造函数

时间:2014-11-02 13:22:05

标签: java exception

public class TestException extends Exception
{
    public TestException()
    {
        super("Test Exception 1 thrown!");
        System.out.println("Test Exception 2 thrown!");
    }
...
}

在另一个地方,我有这样的代码:

TestException exceptionObject = new TestException();
System.out.println(exceptionObject.getMessage());

我打印出如下结果:

Test Exception 2 thrown!
Test Exception 1 thrown!

请您告诉我为什么println方法的输出先出现?

1 个答案:

答案 0 :(得分:1)

首先构造异常(通过调用new TestException()),它将Exception的message属性设置为“抛出测试异常1!”,但不打印它,并打印出“抛出测试异常2”! 。

然后通过调用getMessage()打印System.out.println(exceptionObject.getMessage());的值。这打印出“测试例外1被抛出!”

因此你获得了输出。

顺便说一句,只是为了说清楚,无论你打印什么信息,这里都没有例外。