I noticed that napi_create_int32 (and other "Functions to convert from C types to N-API") do not return napi_pending_exception when one is actually present, however napi_create_buffer (and other "Object Creation Functions") do.
Is this inconsistency intended? According to this old post it should not (napi_create_number is checked as well as napi_create_buffer). Could not find any newer information, though.
Got really confused when the code started failing in the middle or variable creation :/