fromSqliteError static method
Map a SQLite error to a PrismaException.
Implementation
static PrismaException fromSqliteError(
String message, {
int? errorCode,
Object? originalError,
}) {
switch (errorCode) {
case 14: // SQLITE_CANTOPEN
return ConnectionException(
message,
originalError: originalError,
);
case 19: // SQLITE_CONSTRAINT
// SQLite doesn't distinguish constraint types as easily
if (message.toLowerCase().contains('unique')) {
return UniqueConstraintException(
message,
originalError: originalError,
);
}
if (message.toLowerCase().contains('foreign key')) {
return ForeignKeyException(
message,
originalError: originalError,
);
}
return ConstraintException(
message,
originalError: originalError,
);
default:
return InternalException(
message,
originalError: originalError,
context: {'errorCode': errorCode},
);
}
}