There's just no way around it - it's a language feature: If you have an async function, and it throws, and the caller didn't use await or catch(), then you have an error that goes to lala land. That is a serious bug.
Bug 1816540 Comment 27 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
It's a JavaScript language feature: If you have an async function, and it throws, and the caller didn't use await or catch(), then you have an error that goes to lala land. That is a serious bug.