Note that when you catch an exception on the javascript side, it is not safe to call any method on that specific wasm instance anymore. You need to recreate the wasm instance from scratch. Because of panic=abort, no cleanup code gets run, which may mean that unsafe code has left values in an inconsistent state that will result in memory unsafety when you try to use them again.
The C unwind proposal doesn't help with this by the way as it is WASM itself that doesn't currently support running any code on unwinding.