def with_both_exception_handling(f):

    def decorated(self):
        self.set_setting('DISABLE_EXCEPTION_CATCHING', 0)
        f(self)
        self.set_setting('DISABLE_EXCEPTION_CATCHING', 1)
        if (self.is_wasm_backend() and V8_ENGINE and (V8_ENGINE in JS_ENGINES) and self.get_setting('WASM')):
            self.emcc_args.append('-fwasm-exceptions')
            with js_engines_modify([(V8_ENGINE + ['--experimental-wasm-eh'])]):
                f(self)
    return decorated
def with_both_exception_handling(f):

    def decorated(self):
        self.set_setting('DISABLE_EXCEPTION_CATCHING', 0)
        f(self)
        self.set_setting('DISABLE_EXCEPTION_CATCHING', 1)
        if (self.is_wasm_backend() and V8_ENGINE and (V8_ENGINE in JS_ENGINES) and self.get_setting('WASM')):
            self.emcc_args.append('-fwasm-exceptions')
            with js_engines_modify([(V8_ENGINE + ['--experimental-wasm-eh'])]):
                f(self)
    return decorated