SyntaxError
åºçº¿
广æ³å¯ç¨
*
èª 2015å¹´7æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
* æ¤ç¹æ§çæäºé¨åçæ¯æç¨åº¦å¯è½ææä¸åã
SyntaxErrorï¼è¯æ³é误ï¼å¯¹è±¡ä»£è¡¨å°è¯è§£æä¸ç¬¦åè¯æ³ç代ç çé误ãå½ Javascript å¼æè§£æä»£ç æ¶ï¼éå°äºä¸ç¬¦åè¯æ³è§èçæ è®°ï¼tokenï¼ææ 记顺åºï¼åä¼æåº SyntaxErrorã
SyntaxError æ¯ä¸ä¸ªå¯åºååå¯¹è±¡ï¼æä»¥å¯ä»¥ä½¿ç¨ structuredClone() 对å®è¿è¡å
éï¼ä¹å¯ä»¥ä½¿ç¨ postMessage() å¨ Worker ä¹é´æ·è´å®ã
æé 彿°
SyntaxError()-
å建ä¸ä¸ªæ°ç
SyntaxError对象ã
å®ä¾å±æ§
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ã
示ä¾
>æè· SyntaxError
try {
eval("hoo bar");
} catch (e) {
console.error(e instanceof SyntaxError);
console.error(e.message);
console.error(e.name);
console.error(e.fileName);
console.error(e.lineNumber);
console.error(e.columnNumber);
console.error(e.stack);
}
å建 SyntaxError
try {
throw new SyntaxError("Hello", "someFile.js", 10);
} catch (e) {
console.error(e instanceof SyntaxError); // true
console.error(e.message); // Hello
console.error(e.name); // SyntaxError
console.error(e.fileName); // someFile.js
console.error(e.lineNumber); // 10
console.error(e.columnNumber); // 0
console.error(e.stack); // @debugger eval code:3:9
}
è§è
| è§è |
|---|
| ECMAScript® 2027 Language Specification> # sec-native-error-types-used-in-this-standard-syntaxerror> |