try...catch...finally ¹®Àå¿¡¼ ó¸®ÇÒ ¼ö ÀÖ´Â ¿À·ù Á¶°ÇÀ» ¸¸µç´Ù.
throw exception
ÇʼöÀûÀÎ exception Àμö´Â ¹®ÀÚ¿ ½ÄÀÌ´Ù.
throw ¹®ÀåÀ» »ç¿ëÇÏÁö ¾ÊÀ¸¸é Error °³Ã¼°¡ Àü´ÞµÈ´Ù.
try...catch...finally ¹®Àå °èÃþ ±¸Á¶¿¡¼ ¿À·ù¸¦ ó¸®Çϴµ¥ »ç¿ëµÈ´Ù.
¿¹Á¦¿¡¼´Â Àü´ÞµÈ °ªÀ» ±âÁØÀ¸·Î ¿À·ù¸¦ ³Ñ±ä ÈÄ try...catch...finally ¹®Àå °èÃþ ±¸Á¶¿¡¼ ¿À·ù¸¦ ó¸®ÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁØ´Ù.
<SCRIPT> function tryTest(arguVal){ // ±â´ÉÇÔ¼öÀÇ ½ÃÀÛ try { // ¿ÜºÎ tryÀÇ ½ÃÀÛ try { // ³»ºÎ tryÀÇ ½ÃÀÛ if (arguVal==0) throw 'arguVals==0'; // Àμö¸¦ Æò°¡Çؼ 'arguVals==0'ÀÌ¸é ¿À·ù¸¦ ³Ñ±è else throw 'arguVal<>0'; // Ʋ¸®¸é ´Ù¸¥ ¿À·ù¸¦ ³Ñ±è } // ³»ºÎ tryÀÇ Á¾·á catch(err){ // 'arguVal==0'ÀÇ ¿À·ù 󸮸¦ ½ÃÀÛÇÔ, ³»ºÎ try catch ½ÃÀÛ if (err=='arguVals==0') return (err+' ³»ºÎ try ¿¡¼ 󸮵Ê.<BR>'); // ó¸®ÇÑ ¿À·ù¸¦ È®ÀÎÇÏ¿© °³Ã¼ ¿À·ù ¸Þ½ÃÁö¸¦ ¹ÝȯÇÔ else throw err; // Ʋ¸®¸é ¿©±â¿¡¼´Â ¿À·ù¸¦ ó¸®ÇÒ ¼ö ¾ø¾î ´ÙÀ½ ¿ÜºÎ try ¿À·ù 󸮷Π¿À·ù¸¦ ´Ù½Ã ³Ñ±è } // ³»ºÎ try catch Á¾·á, } // ³»ºÎ try Á¾·á catch(err){ // 'arguVals==0' ÀÌ¿ÜÀÇ ´Ù¸¥ ¿À·ù¸¦ ó¸®ÇÔ return (err+' ¿ÜºÎ try ¿¡¼ 󸮵Ê.<BR>'); // ¿À·ù ¸Þ½ÃÁö¸¦ ¹Ýȯ } // ¿ÜºÎ tryÀÇ Á¾·á } // ±â´ÉÇÔ¼öÀÇ Á¾·á document.write(tryTest(0)); // ±â´ÉÇÔ¼öÀÇ È£Ãâ document.write(tryTest(1)); // ±â´ÉÇÔ¼öÀÇ È£Ãâ </SCRIPT>
¿¹Á¦´Â ¼³¸íÀ» À§ÇÏ¿© ¿À·ù¸¦ ¹ß»ý½ÃÄÑ ±³Á¤ÇÏ¿´´Ù.
<SCRIPT> try { // ¿ÜºÎ try ½ÃÀÛ try { // ³»ºÎ try ½ÃÀÛ a=b; // º¯¼ö¸¦ ¼±¾ðÇÏÁö ¾Ê¾Æ ¿À·ù ¹ß»ý } // ³»ºÎ try Á¾·á catch(err){ // ³»ºÎ try catch ½ÃÀÛ document.write('³»ºÎ try catch ¿À·ùÄÚµå='+(err.number & 0xFFFF)+'<BR>'); // »óÅ ǥ½Ã Ãâ·Â, ¿À·ù¹øÈ£¸¦ 16Áø¼ö·Î ȯ»ê document.write('³»ºÎ try catch ¿À·ù³»¿ª='+err.description+'</blockquote>'); // »óÅ ǥ½Ã Ãâ·Â, ¿À·ù ¼³¸í ¹®±¸ Ãâ·Â // var b=1; // ¿À·ù ¼öÁ¤À» À§ÇÑ º¯¼ö ¼±¾ð, ¿¹Á¦¿¡¼´Â ¿À·ù¸¦ ³²°ÜµÎ¾ú°í, ÀÌ°÷ÀÇ comment¸¦ Ç®¸é ¿À·ù°¡ ¼öÁ¤ µÊ throw 'ÀçÂ÷¿À·ù'; // throw ¿¡ ¹®ÀÚ¿À» ÁöÁ¤ÇÏ¿´´Ù } // ³»ºÎ try catch Á¾·á finally{ // ³»ºÎºÎ try finally ½ÃÀÛ document.write('³»ºÎ try finally : '+err.description+'<BR>'); // »óÅ ǥ½Ã Ãâ·Â, ¿À·ù ¼³¸í ¹®±¸ Ãâ·Â } // ³»ºÎ try finally Á¾·á } // ¿ÜºÎ try Á¾·á catch(err){ // ¿ÜºÎ try catch ½ÃÀÛ document.write('¿ÜºÎ try catch ='+err+'<BR>'); // »óÅ ǥ½Ã Ãâ·Â, À§ throw ¿¡¼ ¹ÞÀº ¹®ÀÚ¿À» Ç¥½ÃÇÑ´Ù. } // ¿ÜºÎ try catch Á¾·á finally{ // ¿ÜºÎ try finally ½ÃÀÛ document.write('¿ÜºÎ try finally : '+err.description+'<BR>'); // »óÅÂ, ¿À·ù ¼³¸í ¹®±¸ Ãâ·Â, ¹®ÀÚ¿À» ¹Þ¾Æ¼ ¿À·ù °³Ã¼°¡ ¾Æ´Ô } // ¿ÜºÎ try finally Á¾·á </SCRIPT>