| /** | |
| * @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 | |