我在 NestJs 中创建了一个示例应用程序,它没有单个控制器。我创建了全局异常过滤器并通过应用程序模块注入它,例如:
providers: [
{
provide: APP_FILTER,
useClass: CustomExceptionFilter,
},
]
Run Code Online (Sandbox Code Playgroud)
当调用任何服务方法并发生异常时,调用不会进入我的自定义异常过滤器。请注意,我的应用程序中没有单个控制器。只有模块和服务。
我还尝试在 main.ts 中注册我的自定义过滤器,但它不起作用:
app.useGlobalFilters(new CustomExceptionFilter());
Run Code Online (Sandbox Code Playgroud)
我想仅使用全局异常过滤器来处理所有类型的异常。任何帮助表示赞赏。
全局方法是可以的,你只需要在类的开头放置一个空的 catch 装饰器,它就会捕获所有错误
@Catch()
export class CustomExceptionsFilter implements ExceptionFilter {
catch(exception: unknown, host: ArgumentsHost) {
...
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10826 次 |
| 最近记录: |