SQLite Forum

Statement that fires trigger is not executed when the trigger causes an error
I think the issue you are missing is that the statement is executed as part of a session (implied if you don't create one), and a result of the error is to roll back the session so it is as if it never happened.