我正在捕获一个MalformedURLException
并且我希望堆栈跟踪包含格式错误的 url。
这些方法getMessage()
并getLocalisedMessage()
没有显示整个 URL,我无法引用在 try 块中声明的 url,如果我在块外初始化变量,我会收到一个错误,指出 URL 可能永远不会被初始化。
我想知道是否有办法将 url 从 try 块传递给处理程序。
我正在捕获一个MalformedURLException
并且我希望堆栈跟踪包含格式错误的 url。
这些方法getMessage()
并getLocalisedMessage()
没有显示整个 URL,我无法引用在 try 块中声明的 url,如果我在块外初始化变量,我会收到一个错误,指出 URL 可能永远不会被初始化。
我想知道是否有办法将 url 从 try 块传递给处理程序。
当您声明URL
外部尝试块时,将其初始化为null
假设你的代码是这样的
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,否则没有解决方案,您必须处理引发异常的代码