new API function. But I am loath to add new API functions without good reason and I do not consider performance optimization of an exception condition a good reason. So you are going to have to argue very hard to get such a thing implemented.
My motivation isn't based on performance, but on correctness. If the function already did sqlite3_result_error in step, it is going to be somewhat upset at having to give a value anyway in final.
It may also be the case that some functions take a lot of time to calculate their final results and can't do so step by step, although I can't think of any examples :-)
I am doing an enhanced Python wrapper and want to make user functions written in Python seem as natural as possible. Performance will matter somewhat less :-)
Roger