【发布时间】:2013-07-07 14:16:32
【问题描述】:
以下代码:
try {
value = parse(myData);
} catch (Exception e) {
if ( e instanceof IOException|| e instanceof IllegalArgumentException) {
logger.debug("illegal argument");
} else {
logger.debug("this is printing");
}
}
解析方法:
parse(String data) throws IOException, IllegalArgumentException {
// do validation
throw new IllegalArgumentException("illegal");
}
我期待“非法争论”。但它却显示“这是正在打印”。
我错过了什么吗?
【问题讨论】:
-
应该可以,您确定您运行的不是旧版本的应用程序吗?
-
同理,将代码复制到空项目时,打印“非法参数”。
-
不。我可以看到从解析中抛出的消息“非法”。但它在 if 条件下不匹配
-
发送
getClass()来检查你得到了什么。 -
你是对的。它引发了其他一些异常。请将此作为答案。我会接受的。
标签: java exception try-catch illegalargumentexception throws