【发布时间】:2014-12-21 13:23:29
【问题描述】:
public class ExcepHand {
public String toString()
{
return "Exception Occured";
}
public static void main(String args[])
{
int a=10;
int b=0;
try
{
int c=a/b;
}
catch(ArithmeticException e)
{
System.out.println(e);
}
}
}
这给了我一个输出java.lang.ArithmeticException: / by zero。我想知道为什么toString() 方法没有被覆盖。如果可以的话,请告诉我怎么做。
【问题讨论】:
-
因为在您的代码中没有任何时候在 ExcepHand 的实例上调用 toString。
-
toString()在捕获到异常时不会被调用。要在这种情况下调用toString(),您必须创建ExcepHand的实例,例如ExcepHand obj = new ExcepHand(),然后调用obj.toString() -
我强烈建议您阅读有组织的 Java 教程。
标签: java tostring overriding