SQLite Forum

Bug report: inconsistent error message across different CONSTRAINT types
Login
Yes, breakage is a risk.

>so there is no good solution

I use a lot of triggers - with the RAISE() function you can produce very detailed messages. 

You can also test things that were/are not supported in SQLite. My usage of triggers actually started when there was no foreign key support.