Queueable Apex: Unable to log exception to a custom error object

Remember that System.enqueueJob runs the job asynchronously so any myErrorObj__c instances created may not appear for some period of time.

But I assume the problem here is that by catching but then re-throwing the exception you are causing the transaction to be rolled back including the recording of the need for the @future execution that would do the insert of the myErrorObj__c.

Removing:

throw mex;

should stop that, but it also hides the error from being visible in the normal Apex Job Queue UI.

Also note that governor limit exceptions can't be caught so those exceptions cannot be logged in this way.