我有一个WelcomeException类,我抛出了异常,但现在我试图弄清楚如何计算抛出异常然后打印计数的次数。
以下是代码:
public class WelcomeException extends Exception {
public WelcomeException( String message ) {
super( message );
}
}
答案 0 :(得分:1)
public class WelcomeException extends Exception {
private static int count = 0;
private static final Object countLock = new Object();
public WelcomeException(String message)
{
super(message);
synchronized(countLock)
{
count++;
}
}
public static int getCount()
{
return count; //atomic. Doesn't need synchro.
}
}
您对其他答案的评论:
现在,如果我想在错误消息中打印计数来查看:我 知道我说:错误打印消息{count}次我怎么办 那?如果这个问题很基本,我很抱歉。我很新。
要执行此操作,请覆盖getMessage()
方法,如下所示:
public String getMessage()
{
return
super.getMessage() +
", This exception has occurred " +
getCount() +
" times";
}
答案 1 :(得分:0)
您可以使用静态变量(类变量)来计算抛出异常的次数:
private static int count = 0;
并在构造函数中增加它
public WelcomeException(String message) {
super(message);
count++;
}
所以当你抛出像
这样的异常时它会增加throw new WelcomeException("...");
然后你可以定义一个getter方法:
public static int getCount() {
return count;
}
并打印结果如:
System.out.println("WelcomeException has been thrown " + WelcomeException.getCount() + " times.");