前序
为什么要有全局异常❓
- 统一异常处理:在开发过程中,可能会遇到多个地方抛出的不同类型的异常,如果没有统一的异常处理机制,就需要在每个可能发生异常的地方进行单独处理。这样会导致代码冗余,增加开发和维护的工作量。全局异常处理机制通过统一捕获和处理异常,避免了在各个地方重复编写相同的异常处理逻辑,提高了代码的可重用性和可维护性。
- 错误信息的友好展示:默认情况下,当发生异常时,Spring Boot会返回一些默认的错误信息,例如堆栈跟踪信息。这些信息对于用户来说可能不够友好,也不利于问题的定位和解决。通过全局异常处理机制,我们可以自定义异常的返回消息、状态码等,使错误信息更加友好和可读。这样用户在遇到异常时能够更好地理解问题,并根据错误信息采取相应的操作。
- 异常日志的记录和追踪:在应用程序中,异常日志的记录对于排查问题和定位Bug非常重要。全局异常处理机制可以在异常发生时记录异常日志,包括异常类型、异常信息、发生异常的位置等。通过记录异常日志,我们可以更方便地追踪异常的来源,并及时发现和解决潜在的问题。
- 统一错误处理逻辑:在应用程序中,可能存在一些通用的错误处理逻辑,例如处理未授权异常、处理业务异常等。通过全局异常处理机制,我们可以集中管理这些通用的错误处理逻辑,并根据不同的异常类型提供相应的处理方式。这样可以使应用程序的错误处理更加一致,减少了重复的代码和逻辑,提高了代码的可读性和可维护性。
什么是全局异常处理❓
全局异常处理是指捕获应用程序中的所有异常并提供