问题标签 [onexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
932 浏览

asp.net-web-api - Web Api REST 服务异常处理问题

我使用 ASP.NET web api 构建了一个简单的 REST 服务。
我已将我的控制器方法之一与自定义 ActionFilterAttribute 相关联,覆盖它的 OnActionExecuted。在操作过滤器上,我使用即将发送的响应(actionExecutedContext.Response)。
整个应用程序与用于记录错误的自定义 ExceptionFilterAttribute 覆盖 OnException 相关联。

现在解决问题 - 当从控制器的方法引发异常时,我预计会出现以下两种情况之一:
1. OnException 将首先被触发,然后是 OnActionExcuted 并带有适当的响应。
2. 只有 OnExcpetion 被调用,因为动作并没有真正完成执行。

实际发生的是 OnActionExecuted 被调用,响应为空,因此引发了另一个异常(这次是空引用),在 OnException 中捕获并记录错误的异常。

我的问题是:
1. 如果引发异常,为什么会调用 OnActionExecuted?不应该先调用 OnException 吗?将提供解释。
2.我知道OnActionExecuted应该改变,正确的做法是什么?一般来说,在做任何事情之前,我是否需要检查 actionExecutedContext.Response 或 actionExecutedContext.Exception 不为空(除了 OnException 方法中的明显检查)?我的代码基于属性的操作,总是有响应,但显然没有。

任何帮助都会得到帮助,在此先感谢:)!

0 投票
1 回答
387 浏览

apache-camel - Injecting or Inheriting Router Builder for global onException in apache camel

I have onException configured in one DefaultRouteBuilder class. I want this onException in all other routes in my context. My doubt is whether I should inherit DefaultRouteBuilder in all other routes and calling super.configure() in configure() method or to inject DefaultRouteBuilder defaultRoute in all other RouteBuilder classes and calling defaultRoute.configure() in configure() method. Which one should be appropriate?

0 投票
0 回答
433 浏览

java - 在包含聚合器的路由中使用 OnException

我试图在我的路由中使用一个 onException 子句,其中也有一个聚合器。我期望每当在我的聚合器的 aggregate() 方法中引发异常时,OnException 子句应该捕获它、处理它并重新传递它。然而,这似乎并没有发生。谁能建议我哪里出错了。

其中 CustomAggregator 是我的聚合器,在它的聚合方法中我抛出一个异常来测试我的异常处理。

任何帮助或建议表示赞赏。

0 投票
1 回答
1637 浏览

asp.net-mvc - 在 OnException(ExceptionContext filterContext)内部时,有什么方法可以恢复传递给 POST 操作的模型?

情况是这样的:

我找不到获取viewModel传递给 POST 操作方法的方法。

OnException控制器的可覆盖内部:

调试代码filterContext.Controller.ViewDatanull因为在代码执行时发生异常并且没有返回视图。

无论如何,我看到它filterContext.Controller.ViewData.ModelState已填充并且具有我需要的所有值,但我没有ViewData => viewModel可用的完整对象。:(

我想在中心点将相同Viewdata/ViewModel内容返回给用户。希望你能明白我的意思。

我还有其他途径可以实现目标吗?

0 投票
1 回答
245 浏览

delphi - 如何在 Application.OnException 事件处理程序中获取异常源?

在 Delphi 7 中,如果我在Application.OnException事件处理程序中捕获了异常,那么我们如何找出应用程序的哪个函数或过程引发了这个未处理的异常?

我已经创建了一个应用程序并且正确地得到了异常,但是我如何打印导致这个异常的方法名称呢?

0 投票
1 回答
938 浏览

apache-camel - Camel SFTP 路由无法继续 onException

我有相当简单的路线

我也有一个 onException 子句

当我有单个文件时,该路线似乎按预期工作。当发生多个文件和异常时,我会得到许多不同的异常,例如

我尝试使用路线即提到的所有属性。streamDownload、stepwise、readLock、localWorkDirectory 等。但是,多个文件时的错误处理不起作用。我看到第一个文件得到处理。但是,一旦发生异常,它就不会移动到已处理的文件夹,然后传入/文件夹/位置变得不可列出。我也尝试使用continue(true)而不是handled(true)

0 投票
3 回答
1007 浏览

logging - 如何在 Camel 的 onException 子句中设置记录器(日志类别/日志名称)?

我有以下路线:

发生错误时,日志将打印在 org.apache.camel.processor.DefaultErrorHandler 日志类别中。有没有办法将其更改为自定义日志类别?.errorHandler() 允许您设置日志类别,但 .onException() 似乎不允许。

谢谢。

0 投票
1 回答
533 浏览

apache-camel - Camel onException 没有捕捉到 idempotentConsumer 的 NoMessageIdException?

示例路线:

在没有 myid 参数的情况下向侦听器 URL 发送请求会引发 org.apache.camel.processor.idempotent.NoMessageIdException: No message ID could be found using expression: header(myid) on message exchange: Exchange[Message: [Body is instance of org .apache.camel.StreamCache]]

没有从 onException 传递。

0 投票
1 回答
149 浏览

c# - 不同的方面来处理不同的异常

从我所做的阅读中,我希望我能够创建从 OnExceptionAspect 继承的不同方面,这将允许我在我的代码中以不同的方式处理不同的异常。

为此,我创建了两个 Aspect 类,如下所示:

另一个方面类:

我的调用方法如下:

我在 AssemblyInfo.cs 文件中有以下条目:

我的期望是,当第一个调用者方法引发“ExternalException”时,“CommonExceptionAspect”的 OnException 方法会处理它。当“AuthenticationException”从第二个调用方方法引发时,“AuthenticationExceptionAspect”的 OnException 方法。

但在这两种情况下,调用都会转到“CommonExceptionAspect”。有人可以指出我做错了什么吗?如果这种理解不正确,并且这种情况完全有可能实现。

提前感谢负载。

0 投票
1 回答
609 浏览

redirect - MVC 5 - 将对象传递给共享视图

我正在开发一个 MVC 5 互联网应用程序,并且有一个关于将 an 传递object给 shared的问题view

我在共享文件夹中有一个view调用。CustomError.cshtmlview具有以下模型类型:@model CanFindLocation.ViewModels.CustomErrorViewModel

如何从 a 中的函数将类型的对象传递CanFindLocation.ViewModels.CustomErrorViewModel给 this ?viewprotected override void OnException(ExceptionContext filterContext)controller

这是我的代码:

没有显示,而是view调用了以下函数:

提前致谢。