java - 抛出自定义异常的消息被打印为 Null

标签 java exception

即使我输入了自定义消息,但在打印消息时并未打印该消息。代码如下:

public void run() throws Exception {
    try {
        String poNumber=null;
        if(poNumber.equals(null))
        {
            throw new Exception("Services Purchase Order not created.");
        }
    }
    catch (Exception e) {
        info("Custom Exception Message: "+e.getMessage());
    }
}

输出:

自定义异常消息:null

最佳答案

您还没有抛出自己的异常;您使用 poNumber.equals(null) 引发了 NullPointerException,因为 poNumbernull

您的 catch block 捕获了 NullPointerException,而不是您的 Exception,并且其消息为 null

如果您确实想抛出自己的Exception,请更改条件以使用==,以避免NullPointerException

if (poNumber == null)

关于java - 抛出自定义异常的消息被打印为 Null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33109624/

相关文章:

java - 由于键入文字而无法获取结果 (xsd :string) querying SPARQL from Jena;

java - 无法单击 "Search"按钮 Selenium Web 驱动程序 Java

java - JsonMappingException : Can not instantiate value of type no single-long-arg constructor/factory method

python - Python 异常后是否需要返回语句?

Java 捕获异常和子类

c# - API问题中的异常处理

java - 将安全 token 功能从 C# 重新创建为 Java

java - 无法找到或加载主类 - 类加载器问题

java - Java 文件扫描器的 NoSuchElementException

android - 运行时异常、view.InflateException、reflection.InvocationTargetException 和 OutOfMemoryError