-2

这是我的代码。我已经覆盖了该toString()方法。因此,当e打印对象时,必须调用重写的方法。但我没有看到被调用的方法。

public static void main(String[] args) {

        try
        {
            String name="foo";
            int a =Integer.parseInt(name);
        }catch (NumberFormatException e)
        {
            System.out.println(e);
        }

    }
    public String toString()
    {
        return "err";
    }

}
4

1 回答 1

0

你已经覆盖toString了你所做的任何类。但是写作System.out.println(e);会隐式调用类toString上的方法NumberFormatException,而不是你的类。

toString无论如何,您为什么要尝试覆盖NumberFormatException?有什么问题System.out.println(e.getMessage());甚至e.printStackTrace();

于 2013-07-18T16:49:54.430 回答