Baseline Widely available
Error()
æé 彿°è½å¤å建ä¸ä¸ªå
å«é误信æ¯ç对象ã
new Error()
new Error(message)
new Error(message, options)
new Error(message, fileName)
new Error(message, fileName, lineNumber)
Error()
Error(message)
Error(message, options)
Error(message, fileName)
Error(message, fileName, lineNumber)
夿³¨ï¼ è°ç¨ Error()
æ¶ï¼å¯ä»¥ä½¿ç¨å
³é®å new
ï¼ä¹å¯ä»¥ä¸ä½¿ç¨ã两ç§å£°ææ¹å¼åè½å建ä¸ä¸ªæ°ç Error
å®ä¾ã
message
å¯é
人类å¯è¯»çé误信æ¯ã
options
å¯é
ä¸ä¸ªå å«ä»¥ä¸å±æ§ç对象ï¼
cause
å¯é
æç¤ºé误çå
·ä½åå ï¼åæ å¨ cause
屿§ä¸ã彿è·å¹¶éæ°æåºå¸¦ææ´å
·ä½ææç¨çéè¯¯æ¶æ¯çé误æ¶ï¼å¯ä»¥ä½¿ç¨æ¤å±æ§ä¼ éåå§é误ã
fileName
å¯é éæ å
å¼åæ¤é误çæä»¶è·¯å¾ï¼åæ å¨ fileName
屿§ä¸ãé»è®¤ä¸ºè°ç¨ Error()
æé 彿°çä»£ç æå¨æä»¶çåç§°ã
lineNumber
å¯é éæ å
å¼åé误çæä»¶ä¸çè¡å·ï¼åæ å¨ lineNumber
屿§ä¸ãé»è®¤ä¸ºå
å« Error()
æé 彿°è°ç¨çè¡å·ã
å½ Error
ä½ä¸ºå½æ°ä½¿ç¨ï¼å³ä¸å
å« new
å
³é®åæ¶ï¼å®å°è¿åä¸ä¸ª Error 对象ãå æ¤ï¼ç´æ¥è°ç¨ Error
彿°å°äº§çä¸ä½¿ç¨ new
å
³é®åæé Error
对象ç¸åçè¾åºã
const x = Error("I was created using a function call!");
// ä¸è¿°ä»£ç ä¸ä»¥ä¸ä»£ç å
·æç¸åçåè½
const y = new Error('I was constructed via the "new" keyword!');
ä½¿ç¨ cause éæ°æåºé误
卿è·é误æ¶ï¼æä»¬å¯è½ä¼ä½¿ç¨æ°çé误信æ¯å¯¹é误è¿è¡å
è£
ï¼åå°å
¶éæ°æåºãè¿ç§åºæ¯ä¸ï¼ä½ åºå½å°åå§é误ä¹ä¼ å
¥æ°ç Error
çæé 彿°ï¼å¦ä¸æç¤ºï¼
try {
frameworkThatCanThrow();
} catch (err) {
throw new Error("New error message", { cause: err });
}
æ´å¤ç¤ºä¾åèé误 > åºåç¸ä¼¼çé误ã
çç¥ options åæ°JavaScript åªæå¨ options
åæ°ä¸ºå¯¹è±¡æ¶æä¼å°è¯è¯»å options.cause
屿§ï¼è¿æ ·å¯ä»¥é¿å
ä¸å¦ä¸ç§éæ åç Error(message, fileName, lineNumber)
彿°ç¾åäº§çæ§ä¹ï¼åè
è¦æ±ç¬¬äºä¸ªåæ°å¿
é¡»æ¯å符串ãå¦æä½ çç¥äº options
åæ°ï¼æè
å°åå§å¼ä½ä¸º options
ä¼ å
¥ï¼åæè
ä¼ éçå¯¹è±¡ä¸æ²¡æ cause
屿§ï¼é£ä¹å建ç Error
对象å°ä¸ä¼å
å« cause
屿§ã
// çç¥ options
const error1 = new Error("Error message");
console.log("cause" in error1); // false
// ä¼ éåå§å¼
const error2 = new Error("Error message", "");
console.log("cause" in error2); // false
// ä¼ éä¸å
å« cause 屿§ç对象
const error3 = new Error("Error message", { details: "http error" });
console.log("cause" in error3); // false
è§è æµè§å¨å
¼å®¹æ§ åè§
core-js
æä¾äºæ¯æ cause
çææ°ç¹æ§ (modern behavior) ç Error
polyfillthrow
try...catch
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4