¾È±Ô °øºÎ¹æ

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 ¸¦ ÀÌ¿ëÇÏ¿© ¸Þ¼Òµå¸¦ È£ÃâÇÑ ¿µ¿ªÀ¸·Î ¿¹¿Ü°¡ Àü´ÞµÇµµ·Ï Á¤ÀÇÇÑ´Ù.



¾Èµå·ÎÀ̵忡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Â ÇüÅ·Π·Î±×¸¦ Ãâ·ÂÇϱâ À§Çؼ­´Â ´ÙÀ½°ú °°Àº ¹æ¹ýÀ» »ç¿ëÇÏ½Ã¸é µË´Ï´Ù.

ºñ½ÁÇÑ ¿¹·Î Ãâ·ÂÇÒ ¿¡·¯¸¦ ¹®ÀÚ¿­ º¯¼ö·Î ¹Þ°íÀÚ ÇÒ¶§µµ ¾µ ¼ö ÀÖ½À´Ï´Ù.
 
	try {
		nullValue.equals("must be exception");
	} catch(Exception e) {
		StringWriter sw = new StringWriter();
		e.printStackTrace(new PrintWriter(sw));
		String exceptionAsStrting = sw.toString();
	
		Log.e("StackTraceExampleActivity", exceptionAsStrting);
	}
	

	try {
		main(null)
	} catch(Execption e) {
		Log.e("Exception",e)
	} catch(Error err) {
		Log.e("Error",err);
	} catch(Thowable t) {
		Log.e("Thowable","Thowable.",t);    	
	}


// ÆÄÀÏÀÌ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì¿¡ ´ëÇÑ ¿¹¿Ü ó¸®
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 : °´Ã¼°¡ ¸Þ¼Òµå¸¦ Áö¿øÇÏÁö ¾Ê´Â °æ¿ì ¹ß»ý


»ç¿ë¹ýÀº.. ¾Ë¾Æ¼­...¤»¤»¤»
 
¡Ø Ȥ½Ã µµ¿òÀÌ µÇ¼Ì´Ù¸é ´ñ±Û¿¡ ÇѸ¶µð ³²°ÜÁÖ¼¼¿ä!
ÀÛ¼ºÀÚ   ºñ¹Ð¹øÈ£
ÀÚµ¿±Û ¹æÁö     (ÀÚµ¿±Û ¹æÁö ±â´ÉÀÔ´Ï´Ù.)
³»¿ë   ´ñ±Û´Þ±â 
À̸ÞÀÏ ¹®ÀÇ : cak0280@nate.com  
Copyright 2000 By ENTERSOFT.KR All Rights Reserved.