springBoot 整合rocketMq 之后在 消费者接收到消息调用service 逻辑方法 出现空指针之类的异常不会打印在控制台 这是为什么
3条回答 默认 最新
GPT_Pro 2023-02-24 10:32关注该回答内容部分引用GPT,GPT_Pro更好的解决问题
springBoot 整合rocketMq 之后在 消费者接收到消息调用service 逻辑方法 出现空指针之类的异常不会打印在控制台,这是因为RocketMQ是一个异步框架,consumer端有可能出现异常,但是它不会影响到生产者端,所以不会打印在控制台上。如果想要让它打印在控制台上,就需要我们自己处理下,可以在consumer端进行异常处理。例如在消费者端可以使用try-catch来处理异常:try { //TODO 这里写入消费的逻辑 // 消费者一般会调用service逻辑去处理消息 service.consumeMessage(msg); } catch (Exception e) { // 处理异常逻辑 logger.error("消费者出现异常,原因{}", e.getMessage()); }如上代码,当出现异常时就会进入catch语句,然后可以将错误信息打印出来。同时注意,一般我们也会在service中也进行try-catch处理,将service中的异常也能够打印出来。
如果回答有帮助,望采纳。解决 无用评论 打赏 举报