exception-handling相关内容

@PostConstruct &检查异常

在 @PostConstruct 文档中它说注释方法: “该方法不得抛出已检查的异常." 人们将如何处理例如可以在这种方法中抛出的 IOException?只是将它包装在一个 RuntimeException 中,让用户担心对象的错误初始状态?或者@PostConstruct 是验证和初始化注入依赖项的对象的错误位置? 解决方案 是的,将其包装在运行时异常中.最好是更具体的东西 ..
发布时间:2021-12-22 22:12:27 Java开发

使用异常映射器的 JAX-RS

我读到我可以创建 javax.ws.rs.ext.ExceptionMapper 的实现,它将抛出的应用程序异常映射到 Response 对象. 我创建了一个简单的示例,如果在持久化对象时电话长度大于 20 个字符,则该示例将引发异常.我期望将异常映射到 HTTP 400(错误请求)响应;但是,我收到 HTTP 500(内部服务器错误),但有以下异常: java.lang.ClassCas ..
发布时间:2021-12-22 21:53:40 Java开发

Grails 控制器中的异常处理

我知道如何在 Grails 中使用 UrlMappings 和 ErrorController 进行通用异常处理以进行通用异常处理,以便如果异常转义控制器,用户将被发送到通用错误页面并记录异常.我也知道如何使用 try/catch 块来处理特定的异常并尝试从中恢复. 但在大多数控制器中,如果发生异常,我只想给用户一个稍微更具体的错误消息.所以在创建操作中,我想告诉用户该项目没有被创建.或者在 ..
发布时间:2021-12-22 20:22:15 其他开发

如果投掷会发生什么;语句是在 catch 块之外执行的吗?

在 C++ 中 throw; 在 catch 块内执行时,会在块外重新抛出当前捕获的异常. 在这个答案中,一个例外的想法当经常使用复杂的异常处理时,调度程序是作为减少代码重复的解决方案提出的: 尝试{CodeThatMightThrow();} 抓住(...) {异常处理程序();}无效的异常处理程序(){尝试 {扔;} catch( FileException* e ) {//处理一些复 ..
发布时间:2021-12-22 18:53:16 C/C++开发

如何关闭 MSVC 中的异常处理?

有人知道如何关闭 MSVC 中的异常处理选项吗?我试图将选项“启用 C++ 异常"设置为“否",但收到警告:警告 C4530:使用了 C++ 异常处理程序,但未启用展开语义.指定/EHsc. 我也想关闭异常处理程序,但我不知道如何. 在我的应用程序中,我基本上需要比稳定性更高的速度,因此我选择关闭异常处理.我没有任何 try/catch 块,但我确实使用了 STL.当我将“启用 C++ ..
发布时间:2021-12-22 18:48:59 其他开发

我可以禁用 STL 中的异常吗?

我想禁用在 MSVC 下编译的 C++ 应用程序中的异常.我已将选项启用 C++ 异常切换为否,但我收到警告,告诉我使用选项/Ehsc,我不想使用该选项. 我的代码中没有 try/catch 块,但我使用 STL.我发现使用宏定义 _HAS_EXCEPTIONS=0 应该禁用 STL 中的异常,但我仍然收到如下警告: 警告 C4275:非 dll 接口类“stdext::excepti ..
发布时间:2021-12-22 18:39:00 C/C++开发

ASP.NET Web API:非描述性 500 内部服务器错误

正如标题所说,从 GET 请求到 IQueryable 操作,我收到了 500 内部服务器错误.错误的正文是空的.该错误发生在我的操作返回结果之后. 我使用 ASP.NET Web API RC. 如何获得该错误的堆栈跟踪? 解决方案 发布 RC,此问题已修复,除了 500 内部服务器错误之外,您还将获得错误详细信息.(尽管此问题仅适用于 Web 主机方案). 您可以执行 ..
发布时间:2021-12-20 13:31:01 其他开发

OWIN/Katana 的未处理异常全局处理程序?

在 Katana (OWIN) 实现中实现全局异常捕获处理程序的正确方法是什么? 在作为 Azure 云服务(辅助角色)运行的自托管 OWIN/Katana 实现中,我将此代码放在中间件中: throw new Exception("pooo"); 然后我把这段代码放在Startup类的Configuration方法中,在事件处理程序中设置断点: AppDomain.CurrentD ..
发布时间:2021-12-20 13:12:28 C#/.NET

启用 CORS 时,ASP.NET Web API 自定义异常处理程序中的异常永远不会到达顶级

我创建了一个自定义的 Web API 全局异常处理程序,如下所示: public class MyGlobalExceptionHandler : ExceptionHandler{公共覆盖无效句柄(ExceptionHandlerContext 上下文){//这里我处理它们,不管同步与否}公共覆盖任务 HandleAsync(ExceptionHandlerContext 上下文,Cancel ..
发布时间:2021-12-20 13:11:18 其他开发

为什么是“记录并抛出"?被认为是反模式?

这个问题是由围绕 这篇文章,我没有收到任何好的答案. 如果您不能以其他方式处理它,为什么要记录您的异常然后重新抛出它(当然保留原始堆栈跟踪)是一个坏主意? 解决方案 我认为答案主要是因为如果你不能处理它,你为什么要抓住它?如果他们觉得它值得记录,为什么不让任何可以处理它的人(或者除了处理它别无选择的人)记录它? 如果您捕获并记录并重新抛出它,那么上游代码就无法知道您已经记录了异 ..
发布时间:2021-12-19 10:40:29 其他开发

何时为捕获的异常记录堆栈跟踪

我最近问是否报告getMessage() 捕获异常的文本.相当令人惊讶的是,大多数答案都误解了我的问题,并认为我是在问是否要报告捕获异常的堆栈跟踪,这表明这样做被认为是常态.所以我要问一个后续问题. 在什么情况下,当您catch 异常时,您应该还是不应该报告堆栈跟踪?通过“报告",我包括询问日志框架为您记录堆栈跟踪. 我不是在问是否要报告某事.我在问那个报告是否应该包括堆栈跟踪. ..
发布时间:2021-12-19 10:23:41 Java开发

为什么我会“必须被抓住或被宣布被扔"?在我的程序上?

我已经在这个程序上工作了很长一段时间,我的大脑被炸了.我可以从旁观者那里得到一些帮助. 我正在尝试制作一个逐行读取文本文件的程序,每一行都被制成一个 ArrayList 以便我可以访问每个令牌.我究竟做错了什么? import java.util.*;导入 java.util.ArrayList;导入 java.io.*;导入 java.rmi.server.UID;导入 java.uti ..
发布时间:2021-12-17 17:38:18 Java开发

JSF 2 全局异常处理,没有发生到错误页面的导航

我正在开发基于 JSF 2.0 的 Web 应用程序.我正在尝试实现一个全局异常处理程序,它会在发生任何异常时将用户重定向到通用错误页面(例如 NullPointerException、ServletException、ViewExpiredException 等) 每当我的应用程序中发生 NPE 时,我的 customnavhandler 断点都会被命中并执行 NavigationHand ..
发布时间:2021-12-17 17:37:51 其他开发