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 µé
| ¹ß»ýÇÏ´Â ÀͼÁ¼Ç | ¿¹ |
|---|---|
| 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
- ÀÌÀü : Collection
