如何识别什么约束导致 Sqlite 中的插入异常

How to recognize what constraint cause an exception in an insertion in Sqlite

我怎么知道在Sqlite 中插入时引发了哪种类型的约束异常。是什么引起的?。例如,如果我设计了一个带有唯一约束和主键约束的 table,并且我插入了违反约束的行,sqlite 将引发 SqliteConstraintException,但我想知道违反了这两个约束中的哪一个。这将有助于为用户创建错误消息。而不是编写在插入行之前验证该行的函数。感谢您的帮助。

该信息未作为异常的字段提供。您可以使用 getMessage() 方法来获取有关原因的一些信息。以 UNIQUE constraint failed: event.id 为例。这会告诉您违反约束的名称和列,但不会告诉您违反约束的名称。