Fix logical error in ThreadWorker.CheckAndThrow
Fix logical error in ThreadWorker.CheckAndThrow

While debugging some other issues, I was instrumenting CheckAndThrow to be able to see an inner exception's stack trace. While in there I noticed the logic behaves a bit strangely. CheckAndThrow is supposed to check for pending JS thread exceptions and report them, if any. If there's a single exception, it should be thrown; if there are multiple, the last one will be thrown, and the rest reported. With the current logic, since we report , it looks like we'll report _all_ exceptions _and_ throw the last one, rather than only reporting the first ones and throwing the last one, _if_ there are multiple exceptions. I'm guessing this was a simple mistake when writing the code originally, so let's fix that.

yupferris/fuselibs-public,kusma/fuselibs-public,yupferris/fuselibs-public,fusetools/fuselibs-public,fusetools/fuselibs-public,eksperts/fuselibs-public,nekronos/fuselibs-public,fusetools/fuselibs-public,fusetools/fuselibs-public,kusma/fuselibs-public,cbaggers/fuselibs-public,yupferris/fuselibs-public,nekronos/fuselibs-public,yupferris/fuselibs-public,cbaggers/fuselibs-public,cbaggers/fuselibs-public,kusma/fuselibs-public,fusetools/fuselibs-public,cbaggers/fuselibs-public,fusetools/fuselibs-public,kusma/fuselibs-public,nekronos/fuselibs-public,cbaggers/fuselibs-public,cbaggers/fuselibs-public,cbaggers/fuselibs-public,fusetools/fuselibs-public,eksperts/fuselibs-public,kusma/fuselibs-public,eksperts/fuselibs-public,yupferris/fuselibs-public,eksperts/fuselibs-public,yupferris/fuselibs-public,nekronos/fuselibs-public,eksperts/fuselibs-public,nekronos/fuselibs-public,eksperts/fuselibs-public,nekronos/fuselibs-public,kusma/fuselibs-public,yupferris/fuselibs-public,nekronos/fuselibs-public,eksperts/fuselibs-public,kusma/fuselibs-public