¿¹¿Üó¸®
ÀÚ¹Ù¿¡¼´Â ¿¹¿Ü¸¦ Á÷Á¢ ó¸®ÇϵçÁö, Á÷Á¢ ó¸®ÇÏÁö ¾ÊÀ» °æ¿ì ó¸®ÇÏÁö ¾Ê°Ú´Ù°í ¼±¾ðÇØ¾ß ÇÑ´Ù.
¸¸¾à Á÷Á¢ ó¸®ÇÏ°Ú´Ù°í ¼±¾ðÇÒ °æ¿ì try ¹®À» »ç¿ëÇϰí Á÷Á¢ ó¸® ÇÏÁö ¾ÊÀ» °æ¿ì throws¹®À» »ç¿ëÇØ¾ß ÇÑ´Ù.
1. try / catch / finally ÀÇ ±âº» ±¸Á¶
try
{
}
catch (AException e)
{
}
catch (BException e)
{
}
[finally // »ý·«°¡´É
{
}] |
1) finally ¹®ÀåÀº »ý·«°¡´ÉÇÏ´Ù.
2) ¿¹¿Ü(Exception)ÀÇ Á¾·ù´Â Ŭ·¡½º °èÃþ ±¸Á¶·Î ºÐ·ùµÇ¾î ÀÖ´Ù.
3) Ŭ·¡½ºÀÇ °èÃþ ±¸Á¶·Î µÇ¾î Àֱ⠶§¹®¿¡ »óÀ§ °èÃþÀÇ ExceptionÀ» À§¿¡ ±â¼úÇϸé ÇÏÀ§ÀÇ ExceptionÀº ½ÇÇàµÇÁö ¾Ê´Â´Ù. µû¶ó¼ ÃÖÇÏÀ§ÀÇ ExceptionÀ» ¸Ç »óÀ§¿¡ ±â¼úÇÏ´Â °ÍÀÌ ÁÁ´Ù.
4) fianlly ¹®ÀÚÀº °¢ catch¹®¿¡ return ¹®ÀÌ À־ finally ¹®ÀåÀ» ¼öÇàÇÑÈÄ return µÈ´Ù. ´Ü, System.exit() ¹®ÀåÀÌ ÀÖ´Â °æ¿ì´Â finally ¹®ÀÚÀ» ¼öÇàÇÏÁö ¾Ê´Â´Ù.
2. ¿¹¿Ü(Exception)ÀÇ Á¾·ù
1) IOException (ÀÔÃâ·Â½Ã ¹ßÇàÇÏ´Â ¿¹¿Ü)
IOException |
ÀÔÃâ·ÂÀÌ À߸øµÇ¾úÀ» ¶§ ¹ß»ý |
EOFException |
ÀÔÃâ·Â½Ã ÆÄÀÏÀÇ ³¡À» ¸¸³µÀ» ¶§ ¹ß»ý |
FileNotFoundException |
ÆÄÀÏÀÌ Á¸ÀçÇÏÁö ¾Ê¾ÒÀ» ¶§ ¹ß»ý |
2) RunTimeException (½ÇÇà½Ã ¹ß»ýÇÏ´Â ¿¹¿Ü)
NullPointerException |
Ŭ·¡½º °´Ã¼¿¡ °ªÀ» ÁÖÁö ¾Ê¾Ò°Å³ª À߸ø ÁÖ¾úÀ»¶§ |
ArrayIndexOutOfBoundsException |
¹è¿ ÷ÀÚ¸¦ À߸ø ÁÖ¾úÀ»¶§ |
ArithmeticException |
¼öÇÐÀûÀΠ󸮰¡ À߸øµÇ¾úÀ»¶§ |
NumberFormatException |
ÀÔ·ÂµÈ ¹®ÀÚ¿À» ¼ýÀÚ¿·Î º¯È¯½Ãų ¼ö ¾øÀ»¶§ |
3. Exception ¿¹Á¦
// =========================================================
// NumberFormatException
// ¹®ÀÚ¿À» ¼ýÀÚ·Î º¯È¯½Ãų¼ö ¾øÀ»¶§
//----------------------------------------------------------
// ÀÛ¼ºÀÚ : ¹Ú¿ø±â
// ÀÛ¼ºÀÏ : 2002
// =========================================================
class ag_NumberFormatException
{
public static void main(String[] args)
{
int i;
try
{
}
catch(NumberFormatException e)
{
}
System.out.println(args[0]);
}
} |
// =========================================================
// ArrayIndexOutOfBoundsException
// ¹è¿ÀÇ Àμö°¡ À߸øµÇ¾úÀ»¶§
//----------------------------------------------------------
// ÀÛ¼ºÀÚ : ¹Ú¿ø±â
// ÀÛ¼ºÀÏ : 2002
// =========================================================
class ag_ArrayIndexOutOfBoundsException
{
public static void main(String[] args)
{
String s;
try
{
s=args[1];
System.out.println(s);
}
catch(ArrayIndexOutOfBoundsException e)
{
}
}
} |
// =========================================================
// ArrayIndexOutOfBoundsException
// ¹è¿ÀÇ Àμö°¡ À߸øµÇ¾úÀ»¶§
//----------------------------------------------------------
// ÀÛ¼ºÀÚ : ¹Ú¿ø±â
// ÀÛ¼ºÀÏ : 2002
// =========================================================
class ag_ArithmeticException
{
public static void main(String[] args)
{
int x, y;
try
{
x=20;
y=x/0;
}
catch(ArithmeticException e)
{
System.out.println("¿¬»ê½Ä¿¡ ¿À·ù°¡ ÀÖ½À´Ï´Ù.");
}
}
} |
|