我有一个返回IEnumerable<T>的控制器,我使用yield return来生成列表。当在迭代器块中抛出异常时,异常将在响应中返回,但是我添加的IExceptionLogger服务没有捕获异常。它正在捕捉,似乎所有其他的例外。有什么想法吗?
我已经在WebApiConfig.cs中设置了我的记录器服务
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
config.Services.Add(typ
我需要一种方法来处理和记录所有的异常发生在web api在一个地方。我覆盖了ExceptionLogger和ExceptionHandler的方法,但是代码会中断,并且永远不会触发处理机制。
如果我将控制器更改为相同的API方法,则会导致另一个错误:
[RoutePrefix("api/Ads")]
public class AdsController : ApiController
{
public IHttpActionResult Get()
{
return Ok(Ad.GetAds());
}
public I
在我的项目中,我定义了几种类型的异常,这些异常应该映射到相应的响应状态代码 // map to status code 400
public class BadRequest400Exception extends RuntimeException {}
// map to status code 401
public class Unauthorized401Exception extends RuntimeException {}
// map to status code 404
public class NotFound404Exception extends RuntimeEx
我有一个使用jersey+enunciate的rest项目,现在我想用恶意字符串测试端点。在我看来,该程序的输出就像一个JacksonParseException,但没有细节或堆栈跟踪:
Unexpected character ('6' (code 54)): was expecting comma to separate ARRAY entries
at [Source: org.apache.catalina.connector.CoyoteInputStream@28fe53cf; line: 1, column: 35]
我想捕捉异常,但是即使声明一个默认的错误页面
服务器错误导致HTTP 500-使用一般错误消息(“服务器遇到错误...”)响应客户端。有没有办法截取此消息并编写自定义消息?
我希望有一种方法可以唯一地从客户端识别服务器错误。例如,如果我可以生成一个GUID,在发生服务器错误时在服务器端记录该GUID,然后将该ID发送到客户端,这将使以后随时在日志中搜索该特定异常变得容易。
我确实意识到服务器错误是由代码中的异常生成的,所以我正在寻找应用引擎API中的某种捕获所有异常钩子。当然,如果这样的钩子存在,并且在这里执行的代码生成第二个异常,那么它将不得不再次默认为一般的500-error。
我正在使用Java API for GAE
我正在构建一个ASP.NET Web服务,我想创建一个集中的异常处理代码。
我想以不同的方式处理不同类型的异常。我将使用log4net记录所有异常。对于某些类型的例外情况,我想通过电子邮件通知管理员。对于某些类型的异常,我希望重新抛出一个更友好的异常,该异常将返回给调用方。对于某些类型的异常,我只想继续从控制器进行处理。
但我该怎么做呢?我使用的是异常筛选器属性。我让这个密码起作用了。属性被正确注册,代码正在触发。我只想知道,如果抛出某些类型的异常,我如何继续。希望这是合理的。
public class MyExceptionHandlingAttribute : ExceptionFilte
如何记录所有处理的异常
我希望每当我发现一个异常时,我应该能够记录它。
我希望它能在全球范围内发挥作用,而不是每次我抓到它的时候都要写它。
我试着订阅AppDomain.CurrentDomain.FirstChanceException,它确实有效,但是我没有完整的堆栈跟踪,并且它为每个异常多次调用(我不知道为什么)
我还尝试用ActionFilterAttribute包装我的控制器,如下所示,它只处理来自控制器的所有异常,只处理,而不是在从控制器调用的服务中捕获异常。
public class ExceptionLoggingHandler : ActionFilterAttribute
我上传了一个由两个kotlin文件组成的。
Trivial.kt有一个简单的类:
package com.example
class Trivial {
fun gus() {
error("Behold my erroneousness!")
}
}
TrivialTests.kt有一个简单的测试:
package com.example
import org.junit.Test
class TrivialTests {
@Test
fun testGus() {
val din = Trivial()