Судя по документации sqlite3_finalize тут не поможет:
If the most recent evaluation of statement S failed, then sqlite3_finalize(S) returns the appropriate error code or extended error code.
А если я, испугавшись ошибки, перехотел выполнять запрос, что делать?