Jscript ¿À·ù¸¦ ó¸®ÇÑ´Ù.


try{
  tryCode;
}
catch(exception){
  catchCode;
}
finally {
  finallyCode;
}
Àμö
tryCode : (¿À·ù °ËÁ¤¹®)
ÇʼöÀûÀÎ ¿ä¼ÒÀÌ¸ç ¿À·ù°¡ ¹ß»ýÇÒ ¼ö ÀÖ´Â ¹®ÀåÀÌ´Ù.
exception : (Á¦¿Ü º¯¼ö)
ÇʼöÀûÀÎ ¿ä¼ÒÀÌ¸ç º¯¼ö À̸§ÀÌ´Ù. exceptionÀÇ ÃʱⰪÀº ¹ß»ý ¿À·ù °ªÀÌ´Ù.
catchCode : (¿À·ù 󸮹®)
¼±ÅÃÀûÀÎ ¿ä¼ÒÀÌ¸ç ¿¬°áµÈ tryCode¿¡¼­ ¹ß»ýÇÏ´Â ¿À·ù¸¦ ó¸®ÇÏ´Â ¹®ÀåÀÌ´Ù.
finallyCode : (ÃÖÁ¾ 󸮹®)
¼±ÅÃÀûÀÎ ¿ä¼ÒÀÌ¸ç ´Ù¸¥ ¸ðµç ¿À·ù°¡ 󸮵Ǹé ÀÌ ¹®ÀåÀÌ ¹«Á¶°Ç ½ÇÇàµÈ´Ù.
»ç¿ë

try...catch...finally ¹®ÀåÀ» »ç¿ëÇϸé Äڵ带 ½ÇÇàÇϸ鼭µµ ÄÚµå ºí·Ï¿¡¼­ ¹ß»ýÇÒ ¼ö ÀÖ´Â ¿À·ùÀÇ ÀϺΠ¶Ç´Â ÀüºÎ¸¦ ó¸®ÇÒ ¼ö ÀÖ´Ù. ÇÁ·Î±×·¡¸Ó°¡ ó¸®ÇÏÁö ¾ÊÀº ¿À·ù°¡ ¹ß»ýÇϸé JScript´Â ¸¶Ä¡ ¿À·ù¸¦ ó¸®ÇÏÁö ¾ÊÀº °Íó·³ »ç¿ëÀÚ¿¡°Ô º¸ÅëÀÇ ¿À·ù ¸Þ½ÃÁö¸¦ Àü´ÞÇÑ´Ù.

½ÇÇàÇÏ´Â °úÁ¤Àº ´ÙÀ½°ú °°´Ù.

  1. tryCode Àμö´Â ¿À·ù°¡ ¹ß»ýÇÒ ¼ö ÀÖ´Â Äڵ带 Æ÷ÇÔÇÏ°í,
    tryCode¿¡ ¿À·ù°¡ ¹ß»ýÇϸé ÇÁ·Î±×·¥ Á¦¾î´Â catchCode·Î ³Ñ¾î°¡ 󸮵ȴÙ.
  2. exceptionÀÇ ÃʱⰪÀº tryCode¿¡¼­ ¹ß»ýÇÑ ¿À·ù °ªÀÌ´Ù.
    ¿À·ù°¡ ¹ß»ýÇÏÁö ¾ÊÀ¸¸é catchCode´Â ½ÇÇàµÇÁö ¾Ê´Â´Ù.
  3. catchCode´Â ½ÇÁ¦·Î ¹ß»ýÇÏ´Â ¿À·ù¸¦ ó¸®ÇÏ´Â Äڵ带 Æ÷ÇÔÇÑ´Ù.
  4. ¸ðµç ¿À·ù°¡ 󸮵Ǹé finallyCodeÀÇ ¹®ÀåÀÌ ¹«Á¶°Ç ½ÇÇàµÈ´Ù.
    finallyCode ¾ÈÀÇ ÄÚµå´Â try ¶Ç´Â catch ºí·Ï ¾È¿¡ ¹Ýȯ ¹®ÀåÀÌ Àְųª catch ºí·ÏÀÌ ¿À·ù¸¦ ´Ù½Ã ³Ñ°Üµµ ½ÇÇàµÇ¸ç, 󸮵ÇÁö ¾ÊÀº ¿À·ù°¡ ¾øÀ¸¸é Ç×»ó ½ÇÇàµÈ´Ù(¿¹: catch ºí·Ï ¾È¿¡¼­ ·±Å¸ÀÓ ¿À·ù°¡ ¹ß»ýÇÒ °æ¿ì).



try...catch...finally ¹®ÀåÀ» »ç¿ëÇÏ¿© ¿À·ù Á¡°Ë ¿¹Á¦

¿¹Á¦´Â ¼³¸íÀ» À§ÇÏ¿© ¿À·ù¸¦ ¹ß»ý½ÃÄÑ ±³Á¤ÇÏ¿´´Ù.

<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>

Netscape ¿À·ù ó¸® ¿¹Á¦
try {myRoutine()}
catch (err if err instanceof EvalError){alert('EvalError')} // NS6
catch (err if err instanceof RangeError){alert('RangeError')} // NS6
catch (err if err instanceof ReferenceError){alert('ReferenceError')} // NS6
catch (err if err instanceof SyntaxError){alert('SyntaxError')} // NS6
catch (err if err instanceof TypeError){alert('TypeError')} // NS6
catch (err if err instanceof URIError){alert('URIError')} // NS6
catch (err) {errorHandle(err)} // ¿À·ùÀÇ Ã³¸® °úÁ¤ ±â´É¿¡ ¿¬°á
finally {myFinalFunction()}