首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java如何覆盖Exception.getMessage

Java如何覆盖Exception.getMessage
EN

Stack Overflow用户
提问于 2014-01-15 09:01:06
回答 5查看 4.8K关注 0票数 2

当为返回null的exception.getMessage()方法提出时,我在NullPointerException方法中有问题。

如何在不改变JRE的情况下覆盖基本Exception.getMessage()来控制它?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-01-15 09:18:21

试着:

代码语言:javascript
复制
public class MyException extends Exception {
    public MyException(String message) {
        super(message);
    }

    public MyException(Throwable throwable) {
        super(throwable);
    }

    public MyException(String message, Throwable throwable) {
        super(message, throwable);
    }
}

抛出MyException一个程序。

代码语言:javascript
复制
try {

} catch (NullPointerException e) {
    throw new MyException("My exception message", e);
    or
    throw new MyException("My exception message");
    or
    throw new MyException(e);
}

捕获MyException另一个程序。

代码语言:javascript
复制
try {

} catch (MyException e) {
    System.out.println(e.getMessage());
}
票数 1
EN

Stack Overflow用户

发布于 2014-01-15 09:18:52

nullPointerException.getMessage()返回null时,现在有消息传递给它的构造函数。由于您可以创建自己的Exception (但我不明白为什么是),您也可以使用文本消息生成NullPointerException

代码语言:javascript
复制
if (something == null) {
  // here you may want to log another data
  throw new NullPointerException("mandatory value 'something' is NULL");
}

请注意,这两种方法都假定您可以更改源。如果NullPointerException是在标准类(F.E.)中生成的。在HashMap中,您需要研究,为什么该类的调试器和/或读取源会发生

票数 1
EN

Stack Overflow用户

发布于 2014-01-15 09:33:33

如果设计抛出NullPointerException的方法,则可以在抛出子句中构造NullPointerException对象。

例如,您的方法名为nullPointer。

代码语言:javascript
复制
public void nullPointer() throws NullPointerException{
    do something;
    throw new NullPointerException("I am a new null pointer exception");
}

如果代码本身意外地生成此类异常,则需要检查代码的逻辑以防止此类异常。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21132970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档