Android > Throwable °ú ¿¹¿Ü Ŭ·¡½ºÀÇ °èÃþµµ µî·ÏÀÏ : 2017-07-06 17:59 Á¶È¸¼ö : 53,035À§ ±×¸²¿¡¼ º¸¸é Throwable Àº ¸ðµç Ŭ·¡½º Áß ÃÖ»óÀ§ °èÃþ¿¡ ÀÖ´Â Object¸¦ »ó¼Ó¹Þ´Â´Ù. ±×¸®°í Throwable ¸¦ »ó¼ÓÇÏ´Â ¿¹¿Ü Ŭ·¡½º´Â Exception Ŭ·¡½º // Error Ŭ·¡½º µÎ °¡ÁöÀÌ´Ù. ±×·±µ¥ À̸§¿¡¼ º¸µí Error ¿¡·¯!! ´Ü¼øÈ÷ ¿¹¿Ü(Exception)¶ó°í Çϱ⿡´Â ½É°¢ÇÑ ¿À·ù¸¦ Ç¥ÇöÇϱâ À§ÇØ Á¤ÀÇµÈ Å¬·¡½ºÀÌ´Ù. Áï ÀÌ Error ´Â ÇÁ·Î±×·¡¸Ó°¡ Á¤ÀÇÇϴ Ŭ·¡½º°¡ ¾Æ´Ñ ÇÁ·Î±×·¥ÀÇ ½ÇÇàÀ» Á¾·áÇØ¾ß ÇÒ Á¤µµÀÇ Å« ¹®Á¦(¿À·ù)»óȲÀ» Ç¥ÇöÇÏ´Â µ¥ ¾²Àδ٠JVMÀÌ ´õ ÀÌ»ó µ¿ÀÛ ÇÒ ¼ö ¾ø´Â »óȲÀ» ¾Ë¸®±â À§ÇØ Á¤ÀÇµÈ Å¬·¡½ºÀÌ°í, ÀÌ ¶§´Â try - catch µîÀ¸·Î ÇÒ ¼ö ÀÖ´Â ¹®Á¦°¡ ¾Æ´Ï´Ù. ÇÑ ¸¶µð·Î ¸»Çϸé ÀÚ¹Ù¿¡¼´Â Error¿¡ ´ëÇÑ ´ëÃ¥Àº ¾ø´Ù. ÇÁ·Î±×·¥ÀÌ ¿¡·¯¿¡ ÀÇÇØ Á¾·áµÇ¸é...±×³É ³öµÖ¾ß ÇÑ´Ù. -_- ÇÏÁö¸¸ ExceptionÀº ÇÁ·Î±×·¥¿¡¼ ¹ß»ýÇÒ ¿¹¿Ü»óȲ¿¡ ´ëÇØ try - catch¹®À» ÀûÀýÈ÷ »ç¿ëÇÔÀ¸·Î½á ÇÁ·Î±×·¡¸Ó°¡ ¿À·ù¸¦ ÁÙÀÏ ¼ö ÀÖ´Ù. ±×·¸±â ¶§¹®¿¡ ÀÚ¹Ù¿¡¼´Â ExceptionÀ» À§ÁÖ·Î °øºÎ¸¦ ÇÑ´Ù. °á°úÀûÀ¸·Î ExceptionÀº ¸ðµç ¿¹¿Ü Ŭ·¡½ºÀÇ »óÀ§ Ŭ·¡½ºÀÌ´Ù. µû¶ó¼ ¸ðµç ¿¹¿Ü Ŭ·¡½º´Â Exception Ŭ·¡½º¸¦ »ó¼ÓÇÏ¿© »ç¿ëµÈ´Ù. ExceptionÀ» »ó¼ÓÇϴ Ŭ·¡½ºÀÇ ¿¹¿Ü »óȲÀÌ ÀÓÀÇÀÇ ¸Þ¼Òµå ³»¿¡¼ ¹ß»ýÇÑ´Ù¸é , ÇØ´ç ¸Þ¼Òµå´Â ¹Ýµå½Ã µÑ Áß ÇÑ °¡Áö ¹æ¹ýÀ» ¼±ÅÃÇÏ¿© Á¤ÀǵǾî¾ß ÇÑ´Ù. ¨ç try - catch ±¸¹®À» ÀÌ¿ëÇÏ¿© ¸Þ¼Òµå ³»¿¡¼ ¿¹¿Ü¸¦ ó¸®Çϵµ·Ï Á¤ÀÇÇÑ´Ù. ¨è Å°¿öµå throws ¸¦ ÀÌ¿ëÇÏ¿© ¸Þ¼Òµå¸¦ È£ÃâÇÑ ¿µ¿ªÀ¸·Î ¿¹¿Ü°¡ Àü´ÞµÇµµ·Ï Á¤ÀÇÇÑ´Ù. ¾Èµå·ÎÀ̵忡¼ »ç¿ëÇÒ ¼ö ÀÖ´Â ÇüÅ·Π·Î±×¸¦ Ãâ·ÂÇϱâ À§Çؼ´Â ´ÙÀ½°ú °°Àº ¹æ¹ýÀ» »ç¿ëÇÏ½Ã¸é µË´Ï´Ù. ºñ½ÁÇÑ ¿¹·Î Ãâ·ÂÇÒ ¿¡·¯¸¦ ¹®ÀÚ¿ º¯¼ö·Î ¹Þ°íÀÚ ÇÒ¶§µµ ¾µ ¼ö ÀÖ½À´Ï´Ù.
// ÆÄÀÏÀÌ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì¿¡ ´ëÇÑ ¿¹¿Ü ó¸® catch (FileNotFoundException e) { String exceptionMessage = textFileName + " ÆÄÀÏ ¶Ç´Â ±×°ÍÀÇ °æ·Î°¡ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù."; Toast.makeText(this.context, exceptionMessage, Toast.LENGTH_SHORT).show(); e.printStackTrace(); } // ÀÔÃâ·Â °ü·ÃµÈ ¿¹¿Ü ó¸® catch (IOException e) { String exceptionMessage = "ÆÄÀÏÀ» Àд µµÁß¿¡ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù."; Toast.makeText(this.context, exceptionMessage, Toast.LENGTH_SHORT).show(); e.printStackTrace(); } // ±âŸ ¿¹¿Ü ó¸® catch (Exception e) { Toast.makeText(this.context, "¾Ë ¼ö ¾ø´Â ¿À·ùÀÔ´Ï´Ù.", Toast.LENGTH_SHORT).show(); e.printStackTrace(); } e.getMessage() = ¿¡·¯ À̺¥Æ®¿Í ÇÔ²² µé¾î¿À´Â ¸Þ¼¼Áö¸¦ Ãâ·ÂÇÑ´Ù. e.getMessage(): Ãâ·Â¹®±¸ e.toString() = ¿¡·¯ À̺¥Æ®ÀÇ toString()À» È£ÃâÇؼ °£´ÜÇÑ ¿¡·¯ ¸Þ½ÃÁö¸¦ È®ÀÎÇÑ´Ù. e.toString(): java.lang.Exception: Ãâ·Â¹®±¸ e.printStackTrace() = ¿¡·¯ ¸Þ¼¼ÁöÀÇ ¹ß»ý ±Ù¿øÁö¸¦ ã¾Æ¼ ´Ü°èº°·Î ¿¡·¯¸¦ Ãâ·ÂÇÑ´Ù. e.printStackTrace(): java.lang.Exception: Ãâ·Â¹®±¸ at ExThrowException.main(ExeThrowException.java:6) JAVA ÄÚµù½Ã °¡Àå ¸¹ÀÌ »ç¿ëÇÏ´Â ÄÚµå Áß Çϳª°¡ try { // ... } catch(Exception e){ e.printStackTrace(); } ÀÌ´Ù. printStackTrace() ¿Ü¿¡µµ printStackTrace(PrintWriter writer); µµ Á¸ÀçÇÏ°í printStackTrace(PrintStream s); ¿ª½Ã Á¸ÀçÇϱ⠶§¹®¿¡ stackTrace ÀÇ ³»¿ëÀ» ÆÄÀϵ ³²±â´Â °ÍÀº ±×¸® ¾î·Á¿î ÀÏÀÌ ¾Æ´Ï´Ù. JAVA ¿¹¿Üó¸® Á¾·ù (Exception) ArthmeticException : Á¤¼ö¸¦ 0À¸·Î ³ª´¶§ ¹ß»ý NullPointException : Null ·¹ÆÛ·±½º¸¦ ÂüÁ¶ÇÒ¶§ ¹ß»ý ClassCastException : º¯È¯ÇÒ ¼ö ¾ø´Â ŸÀÔÀ¸·Î °´Ã¼¸¦ º¯È¯ÇÒ ¶§ ¹ß»ý OutOfMemoryException : ¸Þ¸ð¸®°¡ ºÎÁ·ÇÑ °æ¿ì ¹ß»ý ArrayIndexOfBoundsException : ¹è¿ÀÇ ¹üÀ§¸¦ ¹þ¾î³ Á¢±Ù ½Ã ¹ß»ý IllegalArgumentException : À߸øµÈ ÀÎÀÚ Àü´Þ ½Ã ¹ß»ý IOException : ÀÔÃâ·Â µ¿ÀÛ ½ÇÆÐ ¶Ç´Â ÀÎÅÍ·´Æ® ½Ã ¹ß»ý NumberFormatException : ¹®ÀÚ¿ÀÌ ³ªÅ¸³»´Â ¼ýÀÚ¿Í ÀÏÄ¡ÇÏÁö ¾Ê´Â ŸÀÔÀÇ ¼ýÀÚ·Î º¯È¯½Ã ¹ß»ý IllegalStateException : °´Ã¼ÀÇ »óÅ°¡ ¸Å¼Òµå È£Ãâ¿¡´Â ºÎÀûÀýÇÑ °æ¿ì ConcurrentModificationException : ±ÝÁöµÈ °÷¿¡¼ °´Ã¼¸¦ µ¿½Ã¿¡ ¼öÁ¤Çϴ°ÍÀÌ °¨ÁöµÉ °æ¿ì ¹ß»ý UnsupportedOperationException : °´Ã¼°¡ ¸Þ¼Òµå¸¦ Áö¿øÇÏÁö ¾Ê´Â °æ¿ì ¹ß»ý »ç¿ë¹ýÀº.. ¾Ë¾Æ¼...¤»¤»¤»
|