InternalError
ë¹íì¤: ì´ ê¸°ë¥ì íì¤íëì´ ìì§ ììµëë¤. ë¹íì¤ ê¸°ë¥ì ë¸ë¼ì°ì ì§ìì´ ì íì ì´ë©° ë³ê²½ëê±°ë ì ê±°ë ì ìì¼ë¯ë¡ íë¡ëì íê²½ìì ì¬ì©íë ê²ì ê¶ì¥ëì§ ììµëë¤. ê·¸ë¬ë íì¤ ìµì ì´ ìë í¹ì ìí©ììë ì ì í ëìì´ ë ì ììµëë¤.
InternalError ê°ì²´ë JavaScript ìì§ ë´ë¶ìì ë°ìí ì¤ë¥ë¥¼ ëíë
ëë¤.
ë¤ìì ì¤ë¥ ììì ê²½ì°ë ì¼ë°ì ì¼ë¡ ì´ë¤ ê°ì´ ë무 í° ê²½ì°ì ëë¤.
- "too many switch cases", (swich caseì ìê° ë무 ë§ì)
- "too many parentheses in regular expression", (ì ê·ííìì ë무 ë§ì ê´í¸ê° ìì)
- "array initializer too large", (ë°°ì´ ì´ê¸°í ê°ì´ ë무 í¼)
- "too much recursion". (ë무 ë§ì ì¬ê· í¸ì¶)
InternalErrorë Errorì íì í´ëì¤ì
ëë¤.
ìì±ì
InternalError()-
ìë¡ì´
InternalErrorê°ì²´ë¥¼ ë§ëëë¤.
ì¸ì¤í´ì¤ ìì±
ëí ë¶ëª¨ Errorìì ì¸ì¤í´ì¤ ìì±ì ììí©ëë¤.
ìë ìì±ì InternalError.prototypeìì ì ìëìê³ , 모ë InternalError ì¸ì¤í´ì¤ì ì ê³µì ë©ëë¤.
InternalError.prototype.constructor-
ì¸ì¤í´ì¤ ê°ì²´ë¥¼ ìì±íë ìì±ì í¨ìì ëë¤.
InternalErrorì¸ì¤í´ì¤ì ê²½ì° ì´ê¸° ê°ìInternalErrorìì±ìì ëë¤. InternalError.prototype.name-
ì¤ë¥ ì íì ì´ë¦ì ëíë ëë¤.
InternalError.prototype.nameì ê²½ì° ì´ê¸° ê°ì"InternalError"ì ëë¤.
ì¸ì¤í´ì¤ ë©ìë
ë¶ëª¨ì¸ Errorë¡ë¶í° ì¸ì¤í´ì¤ ë©ìë를 ììí©ëë¤.
ìì
>ë무 ë§ì ì¬ê· í¸ì¶
ì´ ì¬ê· í¨ìë ì¢ ë£ ì¡°ê±´ì ë°ë¼ 10ë² ìíë©ëë¤.
function loop(x) {
if (x >= 10) {
// "x >= 10" ë ì¢
ë£ ì¡°ê±´ì
ëë¤.
return;
}
// ì´ë¤ ì½ë
loop(x + 1); // ì¬ê· í¸ì¶
}
loop(0);
ì´ ì¡°ê±´ì ë§¤ì° ëì ê°ì¼ë¡ ì¤ì íë©´ ìëíì§ ììµëë¤.
function loop(x) {
if (x >= 1000000000000) return;
// ì´ë¤ ì½ë
loop(x + 1);
}
loop(0);
// InternalError: too much recursion(ë무 ë§ì ì¬ê· í¸ì¶)
ë ë§ì ì 보를 ë³´ë ¤ë©´ InternalError: too much recursion(ë무 ë§ì ì¬ê· í¸ì¶)를 ë³´ì길 ë°ëëë¤.
ëª ì¸ì
ì´ë¤ íì¤ìë ìíì§ ììµëë¤.