* ȸ¿ø°¡ÀÔ * ¾ÆÀ̵ð/ºñ¹Ð¹øÈ£ ã±â   ID PW
Last Modified : 2008.09.17

Exception

ÇÁ·Î±×·¥¿¡´Â Ä¡¸íÀûÀÎ ¿¡·¯°¡ ÀÖ´Â ¹Ý¸é ÇÁ·Î±×·¥ÀÌ ¸ØÃâ ÇÊ¿ä±îÁö´Â ¾ø´Â ¿¡·¯°¡ ÀÖ½À´Ï´Ù.
ÀÚ¹Ù¿¡¼­´Â ÀÌ·± ¿¡·¯¸¦ exception À̶ó°í ÇÕ´Ï´Ù.
ÀÌ exceptionÀ» ´Ù·çµµ·Ï ¸¶·ÃµÈ Ŭ·¡½ºµéÀ» ÅëĪÇÏ¿© Exception À̶ó°í ÇÕ´Ï´Ù.
»ç½Ç Exception À̶ó´Â Ŭ·¡½º°¡ Àִµ¥ ÀÌ Exception Ŭ·¡½º°¡ ¸ðµç exception ´Ù·ç´Â Ŭ·¡½ºÀÇ ÃÖ»óÀ§ ºÎ¸ð Ŭ·¡½ºÀÔ´Ï´Ù.

try catch ºí·Ï

exception ¿ª½Ã error À̱⿡ ¹ß»ýÇÏ°í ¾Æ¹«·± Á¶Ä¡°¡ ¾ø´Ù¸é ÇÁ·Î±×·¥ÀÌ ¸ØÃß°Ô µË´Ï´Ù.
¹ß»ýÇÑ exception À» Çڵ鸵ÇÏ·Á¸é try ~ catch ºí·ÏÀ» Äڵ峻¿¡ ÀûÀýÇÏ°Ô »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.


try {
..
} catch ( ÀâÀ»ÀͼÁ¼ÇŬ·¡½º¸í e ) { }

¸Þ¼Òµå1() => ¸Þ¼Òµå2() => ¸Þ¼Òµå3()
¸Þ¼Òµå1()¿¡¼­ ¸Þ¼Òµå2() È£Ãâ, ¸Þ¼Òµå2()¿¡¼­ ¸Þ¼Òµå3()¸¦ È£ÃâÇÑ´Ù°í °¡Á¤ÇսôÙ.
¸¸¾à ¸Þ¼Òµå3() ¿¡¼­ ¾î¶² ÀͼÁ¼ÇÀÌ ¹ß»ýÇß°í ¸Þ¼Òµå3()¿¡¼­ ¹ß»ýÇÑ ÀͼÁ¼ÇÀ» ´Ù·ç´Â try ~ catch ¹®ÀÌ ÀÖ´Ù¸é ÇÁ·Î±×·¥Àº ¸ØÃßÁö ¾Ê°í °è¼Ó ÁøÇàµË´Ï´Ù.
¸Þ¼Òµå3()¿¡¼­ ÇØ´ç ÀͼÁ¼ÇÀ» Çڵ鸵 ÇÏ´Â try ~ catch ¹®ÀÌ ¾ø´Ù¸é ¹ß»ýÇÑ ÀͼÁ¼ÇÀº ¸Þ¼Òµå3()¸¦ È£ÃâÇÑ ¸Þ¼Òµå2()¿¡ Àü´ÞµË´Ï´Ù.
¸Þ¼Òµå2¿¡¼­ try ~ catch ¹®À¸·Î ÇØ´ç ÀͼÁ¼ÇÀ» ´Ù·ç´Â Äڵ尡 ¾ø´Ù¸é ¸Þ¼Òµå2()¸¦ È£ÃâÇÑ ¸Þ¼Òµå1()À¸·Î ÀͼÁ¼ÇÀ» Àü´ÞÇÕ´Ï´Ù.

finally ºí·Ï

ÀͼÁ¼ÇÀÌ ¹ß»ýÇÏµç ¸»µç ¹«Á¶°Ç ½ÇÇàµÇ´Â ºí·ÏÀÔ´Ï´Ù.
finally ºí·ÏÀº »ç¿ëÇØµµ ÁÁ°í ¾ÈÇØµµ ÁÁÀº ¿É¼ÇÀÔ´Ï´Ù.
¾Æ·¡´Â ÀͼÁ¼Ç Ŭ·¡½º °èº¸ÀÔ´Ï´Ù.(»ó¼Ó°ü°è) Exception API

ÀÚÁÖ ¹Ý»ýÇÏ´Â exception µé

¹ß»ýÇÏ´Â ÀͼÁ¼Ç ¿¹
ArithmeticException int a = 12/0;
NullPointerException Date d = null;
System.out.println(d.toString());
NegativeArraySizeException arr[-1];
ArrayIndexOutOfBoundException int[] arr;
arr = new int[2];
arr[2] = 1;

¸Þ¼Òµå ¼±¾ð½Ã throws ÀͼÁ¼Ç¸í À» ¾µ °æ¿ì

ÇØ´ç ¸Þ¼Òµå¿¡¼­ ÀͼÁ¼ÇÀÌ ¹ß»ýÇß´Ù¸é ÇØ´ç ¸Þ¼Òµå¸¦ È£ÃâÇÑ ¸Þ¼Òµåµµ throws ÀͼÁ¼Ç¸íÀ» »ç¿ëÇØ¼­ ¼±¾ðÇϰųª È£ÃâÇÑ ¸Þ¼Òµå ³»¿¡ ÀͼÁ¼ÇÀ» Àâ´Â try ~ catch ±¸¹®ÀÌ ±¸ÇöµÇ¾î¾ß ÇÕ´Ï´Ù. ´Ü RuntimeException ÀÎ °æ¿ì´Â ¿¹¿ÜÀÔ´Ï´Ù.

»ç¿ëÀÚ Á¤ÀÇ exception

ÀͼÁ¼ÇÀÌ ¹ß»ýÇÒ »óȲÀÌ µÇ¸é JVM ÀÌ °´Ã¼È­¸¦ ÇØ¼­ ÇÁ·Î±×·¥¿¡ ´øÁ®ÁÝ´Ï´Ù.
¹ß»ýÇÑ ÀͼÁ¼ÇÀ» try catch ¸¦ ½á¼­ ó¸®ÇØ ÁÙ ¼ö ÀÖ½À´Ï´Ù.
±×·±µ¥ ÀÌ·± ÀͼÁ¼ÇÀ» ÇÁ·Î±×·¡¸Ó°¡ Á÷Á¢ ÀͼÁ¼ÇÀ» ¸¸µé ¼ö ÀÖ½À´Ï´Ù.
À̸¦ "»ç¿ëÀÚ Á¤ÀÇ exception" À̶ó°í ÇÕ´Ï´Ù.
¾Æ·¡ ¿¹´Â »ç¿ëÀÚ Á¤ÀÇ exception ±¸Çö ¹æ¹ýÀÔ´Ï´Ù.


public class UserServerException extends Exception {
  public UserServerException ( String name ) {
    super(name);
  }
}

»ç¿ëÀÚ Á¤ÀÇ exception Àº ÀϹÝÀûÀÎ exception °ú ´Þ¸® ¸í½ÃÀûÀ¸·Î Á÷Á¢ ¹ß»ý½ÃÄÑ¾ß ÇÕ´Ï´Ù.
throw new UserServerException("À¯È¿ÇÏÁö ¾Ê´Â IDÀÔ´Ï´Ù.");

Âü°í ¹®¼­

http://java.sun.com/docs/books/tutorial/essential/exceptions/definition.html