我正在捕捉MalformedURLException
,我希望堆栈跟踪包含格式错误的网址。
方法getMessage()
和getLocalisedMessage()
没有显示整个网址,我无法引用try块中声明的url,如果我在块外部初始化变量,我会收到错误指出URL可能永远不会被初始化。
我想知道是否有办法将url从try块传递给处理程序。
答案 0 :(得分:3)
当您在try块之外声明URL
时,将其初始化为null
答案 1 :(得分: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,否则没有解决方案,您必须处理拖欠异常的代码