EvalError
åºçº¿
广æ³å¯ç¨
*
èª 2015å¹´7æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
* æ¤ç¹æ§çæäºé¨åçæ¯æç¨åº¦å¯è½ææä¸åã
æ¬å¯¹è±¡ä»£è¡¨äºä¸ä¸ªå
³äº eval() å
¨å±å½æ°çéè¯¯ãæ¤å¼å¸¸ä¸åä¼è¢« JavaScript æåºï¼ä½æ¯ EvalError 对象ä»ç¶åå¨ï¼ä»¥ä¿æå
¼å®¹æ§ã
EvalError æ¯ä¸ä¸ªå¯åºååå¯¹è±¡ï¼æä»¥å¯ä»¥ä½¿ç¨ structuredClone() 对å®è¿è¡å
éï¼ä¹å¯ä»¥ä½¿ç¨ postMessage() å¨ Worker ä¹é´æ·è´å®ã
æé 彿°
EvalError()-
å建ä¸ä¸ªæ°ç
EvalError对象ã
å®ä¾å±æ§
Error.prototype.message-
éè¯¯æ¶æ¯ãç»§æ¿èª
Errorã Error.prototype.name-
é误åç§°ãç»§æ¿èª
Errorã Error.prototype.cause-
表示导è´å½åé误被æåºçåå ãç»§æ¿èª
Errorã Error.prototype.fileName-
å¼åæ¤é误çæä»¶çè·¯å¾ãç»§æ¿èª
Errorã Error.prototype.lineNumber-
å¼åæ¤é误çä»£ç æå¨çæä»¶çè¡å·ãç»§æ¿èª
Errorã Error.prototype.columnNumber-
å¼åæ¤é误ç代ç 卿件䏿å¨è¡çåå·ãç»§æ¿èª
Errorã Error.prototype.stack-
å æ è·è¸ªãç»§æ¿èª
Errorã
示ä¾
EvalError ä¸å¨å½åç ECMAScript è§èä¸ä½¿ç¨ï¼å æ¤ä¸ä¼è¢«è¿è¡æ¶æåºã使¯å¯¹è±¡æ¬èº«ä»ç¶ä¸è§èçæ©æçæ¬ååå
¼å®¹ã
å建 EvalError
try {
throw new EvalError("Hello", "someFile.js", 10);
} catch (e) {
console.log(e instanceof EvalError); // true
console.log(e.message); // "Hello"
console.log(e.name); // "EvalError"
console.log(e.fileName); // "someFile.js"
console.log(e.lineNumber); // 10
console.log(e.columnNumber); // 0
console.log(e.stack); // "@Scratchpad/2:2:9\n"
}
è§è
| è§è |
|---|
| ECMAScript® 2027 Language Specification> # sec-native-error-types-used-in-this-standard-evalerror> |