If findComponentRoot throws an exception during a Transaction close (specifically, in ReactMountReady.notifyAll) after the body of the transaction threw an exception, then it logs an error (using console.error) immediately, like so:

The error it throws is silenced by Transaction.perform in favor of the earlier error thrown by the wrapped method, but the findComponentRoot error is logged first, which is misleading.