抛出的异常 没有捕获到

沙雕帮我戒网瘾 2017-12-27 07:12:05
try {
fileUrl = ftp.storeByExt(site.getUploadPath(), ext, file
.getInputStream());

} catch (IllegalStateException e) {
model.addAttribute("error", e.getMessage());
} catch(ConnectException e) {
model.addAttribute("error", "上传视频失败,ftp连接错误");
} catch (IOException e) {
model.addAttribute("error", e.getMessage());
}


后台明确 抛出的 是java.net.ConnectException: Connection refused: connect





public String storeByExt(String path, String ext, InputStream in)
throws IOException {
String filename = UploadUtils.generateFilename(path, ext);
store(filename, in);
return filename;
}
...全文
361 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
问题找到了,是因为 store 这个方法 里面已经处理了这个异常。在处理异常的地方 加上 throw e 就 可以了
小程序猿之路 2017-12-28
  • 打赏
  • 举报
回复
顶2喽,你的调用方法,只抛出了io的异常,方法出现的是连接异常,出错后并没有抛给上一层的try 中,所以捕捉不到,
自由自在_Yu 2017-12-28
  • 打赏
  • 举报
回复
catch (Exception e) {
			model.addAttribute("error", e.getMessage());
		}
最后再加一个,就能捕获上面三个之外的其他异常了
qq_34350475 2017-12-28
  • 打赏
  • 举报
回复
你的storeByExt方法只是把IO异常抛到上层,其他的异常在自己这里捕获,所以你后台显示的异常是在你方法里就抛出的,不会执行你try catch的那段代码,试下把IOException改成Exception

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧