1

我正在捕获一个MalformedURLException并且我希望堆栈跟踪包含格式错误的 url。

这些方法getMessage()getLocalisedMessage()没有显示整个 URL,我无法引用在 try 块中声明的 url,如果我在块外初始化变量,我会收到一个错误,指出 URL 可能永远不会被初始化。

我想知道是否有办法将 url 从 try 块传递给处理程序。

4

2 回答 2

3

当您声明URL外部尝试块时,将其初始化为null

于 2013-12-24T14:46:40.563 回答
2

假设你的代码是这样的

try {
      throw new MalformedURLException("message");
} catch (MalformedURLException e) {
      e.getStackTrace();
      e.getCause(); // in this case e.getCause() == e
      e.getMessage();
}

在 catch 块中,您只能访问堆栈跟踪、消息和异常。

如果 e.getMessage() 包含完整的 URL,您可以访问完整的 URL,否则没有解决方案,您必须处理引发异常的代码

于 2013-12-24T14:42:35.467 回答