blob: 18a0d0f00dd3a02d6275360b19bc089015f74fb8 [file]
/**
* @license
* Copyright 2023 The Emscripten Authors
* SPDX-License-Identifier: MIT
*/
#if !WASM_EXCEPTIONS
// Base Emscripten EH error class
#if EXCEPTION_STACK_TRACES
class EmscriptenEH extends Error {}
#else
class EmscriptenEH {}
#endif
#if SUPPORT_LONGJMP == 'emscripten'
class EmscriptenSjLj extends EmscriptenEH {}
#endif
#if !DISABLE_EXCEPTION_CATCHING
class CppException extends EmscriptenEH {
constructor(excPtr) {
#if EXCEPTION_STACK_TRACES
super(excPtr);
#else
super();
#endif
this.excPtr = excPtr;
#if !DISABLE_EXCEPTION_CATCHING && EXCEPTION_STACK_TRACES
const excInfo = getExceptionMessage(this);
this.name = excInfo[0];
this.message = excInfo[1];
#endif
}
}
#endif
#endif // !WASM_EXCEPTIONS