This is quite logical, you really cannot catch an exception thrown in a function called asynchronously. One obvious way could be catching it using a await
call instead, but it may defeat the purpose of the asynchronous mechanism. For the review of some alternatives, please see this old good Stackoverflow answer.