我正在掌握
Spark Framework,我正在尝试理解以多种路径统一处理异常的最佳方法.
目前我有许多路由,它们都按以下方式处理异常:
... catch (final Exception e) { ... response.status(418); return e.getMessage(); } ...
这留下了许多不足之处,主要是异常逻辑在它们之间重复.我知道它可以通过重构来改进,但我想知道是否有类似于Spring中的ExceptionHandler机制,你可以在抛出特定异常时执行一个动作,例如:
@ExceptionHandler(Exception.class) public void handleException(final Exception e,final HttpServletRequest request) { ...executed for the matching exception... }
那么,是否存在用于异常处理的Spark-esque机制?我已经检查了文档并且做得很简短.如果没有,我会继续我的重构计划.谢谢.
解决方法
你可以像这样处理异常:
get("/throwexception",(request,response) -> { throw new NotFoundException(); }); exception(NotFoundException.class,(e,request,response) -> { response.status(404); response.body("Resource not found"); });
从Spark docs中取得的示例.
原文地址:https://www.jb51.cc/java/129628.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。