Java例外,将数据从try块传递给处理程序

时间:2013-12-24 14:33:14

标签: java android exception-handling malformedurlexception

我正在捕捉MalformedURLException,我希望堆栈跟踪包含格式错误的网址。

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

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

2 个答案:

答案 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,否则没有解决方案,您必须处理拖欠异常的代码