Read a caught error message.

error-messages Caught errors carry details such as a `message`. Programs usually convert those details into user-facing or log-facing strings.

Error Messages

code
error_messages.js
Replay: real traced execution (multi-file project)
const code = "E2";
let message = "";

try {
  if (code !== "OK") {
    throw new Error(code);
  }
  message = "all clear";
} catch (error) {
  message = "handled:" + error.message;
}

console.log("code=" + code);
console.log("message=" + message);
const code = "E1";
let message = "";

try {
  if (code !== "OK") {
    throw new Error(code);
  }
  message = "all clear";
} catch (error) {
  message = "handled:" + error.message;
}

console.log("code=" + code);
console.log("message=" + message);
const code = "OK";
let message = "";

try {
  if (code !== "OK") {
    throw new Error(code);
  }
  message = "all clear";
} catch (error) {
  message = "handled:" + error.message;
}

console.log("code=" + code);
console.log("message=" + message);
  1. code ← E2, message ← (empty)

    1const code→ E2 = "E2"; //@code="E1", "OK"2let message→ (empty) = "";
  2. if (code !== "OK")

    4try {5  if (codeE2 !== "OK") {6    throw new Error(codeE2);7  }
  3. message ← handled:E2

    8  message = "all clear";9} catch (error) {10  message = "handled:" + error.messageE2;11}
    values this stephandled:E2message
  4. console.log("code=" + code);

    10  message = "handled:" + error.message;11}1213console.log("code=" + codeE2);14console.log("message=" + messagehandled:E2);
    outputcode=E2
    message=handled:E2
  1. code ← E1, message ← (empty)

    1const code→ E1 = "E1";2let message→ (empty) = "";
  2. if (code !== "OK")

    4try {5  if (codeE1 !== "OK") {6    throw new Error(codeE1);7  }
  3. message ← handled:E1

    8  message = "all clear";9} catch (error) {10  message = "handled:" + error.messageE1;11}
    values this stephandled:E1message
  4. console.log("code=" + code);

    10  message = "handled:" + error.message;11}1213console.log("code=" + codeE1);14console.log("message=" + messagehandled:E1);
    outputcode=E1
    message=handled:E1
  1. code ← OK, message ← (empty)

    1const code→ OK = "OK";2let message→ (empty) = "";
  2. message ← all clear

    1const code = "OK";2let message = "";34try {5  if (code !== "OK") {6    throw new Error(code);7  }8  message = "all clear";9} catch (error) {
    values this stepall clearmessage
  3. console.log("code=" + code);

    10  message = "handled:" + error.message;11}1213console.log("code=" + codeOK);14console.log("message=" + messageall clear);
    outputcode=OK
    message=all clear