没有 ConnectionException 的异常消息字符串

问题描述 投票:0回答:1

ConnectionException 没有消息文本正常吗? 消息一般允许为null吗?

使用 OpenJDK17 和 OpenJDK11。

try
{
    HttpRequest httpreq = HttpRequest.newBuilder ().uri (URI.create ("http://blabla.blabla.blabla")).build ();
    HttpClient httpclnt = HttpClient.newBuilder ().build ();
    HttpResponse <String> httpresp = httpclnt.send (httpreq, HttpResponse.BodyHandlers.ofString ());
}
catch (Exception e)
{
    System.out.println ("EXCEPTION: " + e + "   -    " + e.getMessage ());
}          

输出是

EXCEPTION: java.net.ConnectException   -    null
java
1个回答
0
投票

是的,ConnectionException 没有消息文本,因为异常本身是不言自明的

你可以尝试处理代码中的null:

try {
    HttpRequest httpreq = HttpRequest.newBuilder().uri(URI.create("http://blabla.blabla.blabla")).build();
    HttpClient httpclnt = HttpClient.newBuilder().build();
    HttpResponse<String> httpresp = httpclnt.send(httpreq, HttpResponse.BodyHandlers.ofString());
} catch (Exception e) {
    String message = e.getMessage();
    if (message == null) {
        message = "No message available";
    }
    System.out.println("EXCEPTION: " + e + "   -    " + message);
}
© www.soinside.com 2019 - 2024. All rights reserved.