The answer after chatting with arne about it in the corresponding github issue (<https://forum.nim-lang.org/t/11501#74701>) : You don't catch them.
If `waitFor` ing somewhere triggers an exception (aka the event-loop being worked through triggers an exception) then you're risking resource leakage and generally having your application in an inconsistent state, which is defect worthy. It follows that you _must_ ensure you don't throw errors in procs that you `asyncCheck`.
