从异常消息中获取 id spring boot
get the id from an exception message spring boot
大家好,我希望你们一切顺利,
我正在捕获一个异常 (DataIntegrityViolationException),其中无法删除指定的 ID,因为它仍在父实体中。
我想知道是否有任何方法可以从捕获的异常中获取指定的 id。
DataIntegrityViolationException
只是包装了底层 JDBC 驱动程序抛出的异常。所以这取决于 JDBC 驱动程序是否在抛出的异常中提供了此类信息。但根据我的经验,大多数 JDBC 驱动程序不会直接从异常中提供违规 ID。它只是提供某种错误代码或错误消息。您可以尝试从中解析违规 ID 是否可行且有意义。
更可靠的查找违规ID的方法是在删除之前根据您的业务领域自行检查,而不是依赖抛出的异常。在这种情况下,您可以在实际删除之前简单地查明子实体是否存在父实体。
要从DataIntegrityViolationException
获取JDBC驱动程序抛出的异常(即根本原因异常),我倾向于使用Guava library来获取它。
大家好,我希望你们一切顺利, 我正在捕获一个异常 (DataIntegrityViolationException),其中无法删除指定的 ID,因为它仍在父实体中。 我想知道是否有任何方法可以从捕获的异常中获取指定的 id。
DataIntegrityViolationException
只是包装了底层 JDBC 驱动程序抛出的异常。所以这取决于 JDBC 驱动程序是否在抛出的异常中提供了此类信息。但根据我的经验,大多数 JDBC 驱动程序不会直接从异常中提供违规 ID。它只是提供某种错误代码或错误消息。您可以尝试从中解析违规 ID 是否可行且有意义。
更可靠的查找违规ID的方法是在删除之前根据您的业务领域自行检查,而不是依赖抛出的异常。在这种情况下,您可以在实际删除之前简单地查明子实体是否存在父实体。
要从DataIntegrityViolationException
获取JDBC驱动程序抛出的异常(即根本原因异常),我倾向于使用Guava library来获取它。