简体   繁体   English

如何更改Exception的printStacktrace()函数?

[英]How can I change what printStacktrace() does for Exception?

I have tried making a new class that extending Exception and overriding printstacktrace. 我尝试制作一个扩展Exception并覆盖printstacktrace的新类。 Problem now is, when it try something like thr following, I get an error "Unreachable catch block for LoggerException. This exception is never thrown from the try statement body" 现在的问题是,当尝试类似thr以下的操作时,出现错误“ LoggerException的Unreachable catch块。永远不会从try语句主体中抛出此异常”

public class LoggerException extends Throwable { 公共类LoggerException扩展了Throwable {

private static final long serialVersionUID = 1L;
@Override
public void printStackTrace() {
    // TODO Auto-generated method stub
    super.printStackTrace();

    Logger logger = Logger.getLogger("custom app exception");
    logger.log(Level.WARNING,getMessage(),this);

}

}


try {
  //do something that does throw anything. but just incase there is a null pointer or something

} catch (LoggerException e) { // error: Unreachable catch block for LoggerException. This exception is never thrown from the try statement body
    e.printStackTrace(); 
}

您应该扩展RuntimeException类

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM