异常过滤器
HTTP exception filter 层与对应的 WebSocket 层之间唯一的区别是,您应该使用 WsException 而不是抛出 HttpException。
信息 提示
WsException类是从@nestjs/websockets包中导入的。
使用上面的示例,Nest 将处理抛出的异常,并发出具有以下结构的 exception 消息:
过滤器
WebSocket 异常过滤器的行为与 HTTP 异常过滤器等价。以下示例使用手动实例化的方法作用域过滤器。与基于 HTTP 的应用程序一样,您也可以使用网关作用域过滤器(即,在网关类前加上 @UseFilters() 装饰器)。
继承
通常,您会创建完全自定义的异常过滤器来满足应用程序的需求。但是,在某些用例中,您可能希望简单地扩展核心异常过滤器,并根据某些因素覆盖其行为。
为了将异常处理委托给基础过滤器,您需要扩展 BaseWsExceptionFilter 并调用继承的 catch() 方法。
上述实现只是一个演示该方法的外壳。您的扩展异常过滤器实现将包含您定制的业务逻辑(例如,处理各种条件)。

