ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

javaµÄexceptionºÍerrorÃæÊÔÌâ10ÎÊ10´ð(Ò»)
2014-11-24 02:11:12 ¡¾´ó ÖРС¡¿ ä¯ÀÀ:1058´Î
Tags£ºjava exception error ÊÔÌâ

ÔÚJavaºËÐÄ֪ʶµÄÃæÊÔÖУ¬Äã×ÜÄÜÅöµ½¹ØÓÚ ´¦ÀíExceptionºÍErrorµÄÃæÊÔÌâ¡£Exception´¦ÀíÊÇJavaÓ¦Óÿª·¢ÖÐÒ»¸ö·Ç³£ÖØÒªµÄ·½Ã棬ҲÊDZàдǿ½¡¶øÎȶ¨µÄJava³ÌÐòµÄ¹Ø¼ü£¬Õâ×ÔȻʹËü³ÉΪÃæÊÔÌâÖеij£¿Í¡£¹ØÓÚJavaÖÐErrorºÍExceptionµÄÃæÊÔÌâÄ¿¶àÊǹØÓÚExceptionºÍErrorµÄ¸ÅÄÈçºÎ´¦ÀíException£¬ÒÔ¼° ´¦ÀíExceptionʱÐèÒª×ñÊصÄ×î¼Ñʵ¼ùµÈµÈ¡£¾¡¹Ü¹ØÓÚ¶àÏ̡߳¢À¬»ø»ØÊÕ¡¢JVM¸ÅÄîºÍÃæÏò¶ÔÏóÉè¼ÆµÈ·½ÃæµÄÎÊÌâÒÀÈ»Ö÷Ô××ÅÕâÀàÃæÊÔ£¬ÄãÈÔÈ»ÐèҪΪ»Ø´ð¡°ÈçºÎÓÐЧµÄ´¦Àí´íÎó¡±×ö×¼±¸¡£Ò»Ð©ÃæÊÔ¹ÙÒ²»á²âÊÔ³ÌÐòÔ±µÄµ÷ÊÔ¼¼ÇÉ£¬ÒòΪ¿ìËٵĴ¦ÀíÒì³£ÊÇÁíÒ»¸öÖØÒªµÄJava±à³Ì¼¼ÇÉ¡£Èç¹ûÒ»¸ö³ÌÐòÔ±¶ÔÓÚ²»³£¼ûÇÒÄÑÓÚ´¦ÀíµÄ ClassNotFoundException»ò OutOfMemoryError·Ç³£ÊìϤ£¬ÔòºÜÓпÉÄÜËûÓµÓÐ×ÅÁ¼ºÃµÄʵս¾­Ñé¡£±¾ÎÄÖУ¬ÎÒÃǽ«»á¿´µ½ÔÚJava J2EEÃæÊÔÖУ¬³õѧÕߣ¬Óо­ÑéÕߺ͸߼¶Java¿ª·¢Õ߻ᱻÎʵ½µÄһЩ¹ØÓÚJava ErrorºÍExceptionµÄÃæÊÔÌâ¡£


JAVA ÖÐExceptionºÍError ÃæÊÔÎÊÌâÏÂÃæÊÇÎÒ¸öÈË×ܽáµÄÔÚJavaºÍJ2EE¿ª·¢ÕßÔÚÃæÊÔÖо­³£±»Îʵ½µÄÓйØExceptionºÍErrorµÄ֪ʶ¡£ÔÚ·ÖÏíÎҵĻشðµÄʱºò£¬ÎÒÒ²¸øÕâЩÎÊÌâ×÷ÁË¿ìËÙÐÞ¶©£¬²¢ÇÒÌṩԴÂëÒÔ±ãÉîÈëÀí½â¡£ÎÒ×ܽáÁ˸÷ÖÖÄѶȵÄÎÊÌ⣬ÊʺÏÐÂÊÖÂëÅ©ºÍ¸ß¼¶JavaÂëÅ©¡£Èç¹ûÄãÓöµ½ÁËÎÒÁбíÖÐûÓеÄÎÊÌ⣬²¢ÇÒÕâ¸öÎÊÌâ·Ç³£ºÃ£¬ÇëÔÚÏÂÃæÆÀÂÛÖзÖÏí³öÀ´¡£ÄãÒ²¿ÉÒÔÔÚÆÀÂÛÖзÖÏíÄãÃæÊÔʱ´ð´íµÄÇé¿ö¡£


1) JavaÖÐʲôÊÇException
Õâ¸öÎÊÌâ¾­³£ÔÚµÚÒ»´ÎÎÊÓйØÒì³£µÄʱºò»òÕßÊÇÃæÊÔ²ËÄñµÄʱºòÎÊ¡£ÎÒ´ÓÀ´Ã»¼û¹ýÃæ¸ß¼¶»òÕß×ÊÉ³ÌʦµÄʱºòÓÐÈËÎÊÕâÍæÒ⣬µ«ÊǶÔÓÚ²ËÄñ£¬ÊǺÜÔ¸ÒâÎÊÕâ¸öµÄ¡£¼òµ¥À´Ëµ£¬Òì³£ÊÇJava´«´ï¸øÄãµÄϵͳºÍ³ÌÐò´íÎóµÄ·½Ê½¡£ÔÚjavaÖУ¬Òì³£¹¦ÄÜÊÇͨ¹ýʵÏÖ±ÈÈçThrowable£¬Exception£¬RuntimeExceptionÖ®ÀàµÄÀ࣬Ȼºó»¹ÓÐһЩ´¦ÀíÒ쳣ʱºòµÄ¹Ø¼ü×Ö£¬±ÈÈçthrow£¬throws£¬try£¬catch£¬finallyÖ®ÀàµÄ¡£ ËùÓеÄÒì³£¶¼ÊÇͨ¹ýThrowableÑÜÉú³öÀ´µÄ¡£Throwable°Ñ´íÎó½øÒ»²½»®·ÖΪ java.lang.Exception ºÍ java.lang.Error. java.lang.Error ÓÃÀ´´¦Àíϵͳ´íÎó£¬ÀýÈçjava.lang.StackOverFlowError »òÕß Java.lang.OutOfMemoryError Ö®ÀàµÄ¡£È»ºó ExceptionÓÃÀ´´¦Àí³ÌÐò´íÎó£¬ÇëÇóµÄ×ÊÔ´²»¿ÉÓõȵȡ£


2) JavaÖеļì²éÐÍÒì³£ºÍ·Ç¼ì²éÐÍÒì³£ÓÐʲôÇø±ð£¿
ÕâÓÖÊÇÒ»¸ö·Ç³£Á÷ÐеÄJavaÒì³£ÃæÊÔÌ⣬»á³öÏÖÔÚ¸÷ÖÖ²ã´ÎµÄJavaÃæÊÔÖС£¼ì²éÐÍÒì³£ºÍ·Ç¼ì²éÐÍÒì³£µÄÖ÷ÒªÇø±ðÔÚÓÚÆä´¦Àí·½Ê½¡£¼ì²éÐÍÒì³£ÐèҪʹÓÃtry, catchºÍfinally¹Ø¼ü×ÖÔÚ±àÒëÆÚ½øÐд¦Àí£¬·ñÔò»á³öÏÖ±àÒëÆ÷»á±¨´í¡£¶ÔÓڷǼì²éÐÍÒì³£Ôò²»ÐèÒªÕâÑù×ö¡£JavaÖÐËùÓм̳Ð×Ôjava.lang.ExceptionÀàµÄÒì³£¶¼ÊǼì²éÐÍÒì³££¬ËùÓм̳Ð×ÔRuntimeExceptionµÄÒì³£¶¼±»³ÆΪ·Ç¼ì²éÐÍÒì³£¡£ÄãÒ²¿ÉÒԲ鿴ÏÂһƪÎÄÕÂÀ´Á˽⠸ü¶à¹ØÓÚ¼ì²éÐÍÒì³£ºÍ·Ç¼ì²éÐÍÒì³£Ö®¼äµÄÇø±ð¡£
3) JavaÖеÄNullPointerExceptionºÍArrayIndexOutOfBoundExceptionÖ®¼äÓÐʲôÏà֮ͬ´¦£¿
ÔÚJavaÒì³£ÃæÊÔÖÐÕâ²¢²»ÊÇÒ»¸öºÜÁ÷ÐеÄÎÊÌ⣬µ«»á³öÏÖÔÚ²»Í¬²ã´ÎµÄ³õѧÕßÃæÊÔÖУ¬ÓÃÀ´²âÊÔӦƸÕ߶Լì²éÐÍÒì³£ºÍ·Ç¼ì²éÐÍÒì³£µÄ¸ÅÄîÊÇ·ñÊìϤ¡£Ë³±ã˵һÏ£¬¸ÃÌâµÄ´ð°¸ÊÇ£¬ÕâÁ½¸öÒì³£¶¼ÊǷǼì²éÐÍÒì³££¬¶¼¼Ì³Ð×ÔRuntimeException¡£¸ÃÎÊÌâ¿ÉÄÜ»áÒý³öÁíÒ»¸öÎÊÌ⣬¼´JavaºÍCµÄÊý×éÓÐʲô²»Í¬Ö®´¦£¬ÒòΪCÀïÃæµÄÊý×éÊÇûÓдóСÏÞÖƵģ¬¾ø¶Ô²»»áÅ׳öArrayIndexOutOfBoundException¡£


4)ÔÚJavaÒì³£´¦ÀíµÄ¹ý³ÌÖУ¬Äã×ñÑ­µÄÄÇЩ×îºÃµÄʵ¼ùÊÇʲô£¿
Õâ¸öÎÊÌâÔÚÃæÊÔ¼¼Êõ¾­ÀíÊǷdz£³£¼ûµÄÒ»¸öÎÊÌâ¡£ÒòΪÒì³£´¦ÀíÔÚÏîÄ¿Éè¼ÆÖÐÊǷdz£¹Ø¼üµÄ£¬ËùÒÔ¾«Í¨Òì³£´¦ÀíÊÇÊ®·Ö±ØÒªµÄ¡£Òì³£´¦ÀíÓкܶà×î¼Ñʵ¼ù£¬ÏÂÃæÁоټ¯ÖУ¬ËüÃÇÌá¸ßÄã´úÂëµÄ½¡×³ÐÔºÍÁé»îÐÔ£º
1) µ÷Ó÷½·¨µÄʱºò·µ»Ø²¼¶ûÖµÀ´´úÌæ·µ»Ønull£¬ÕâÑù¿ÉÒÔ NullPointerException¡£ÓÉÓÚ¿ÕÖ¸ÕëÊÇjavaÒì³£Àï×î¶ñÐĵÄÒì³££¬Äã¿ÉÒԲο¼Ò»ÏÂÏÂÃæµÄ¼¼ÊõÎÄÕ coding best practices to minimize NullPointerException¡£È¥¿´¿´ÀïÃæ¾ßÌåµÄÀý×Ó¡£
2) catch¿éÀï±ð²»Ð´´úÂë¡£¿Õcatch¿éÊÇÒì³£´¦ÀíÀïµÄ´íÎóʼþ£¬ÒòΪËüÖ»ÊDz¶»ñÁËÒì³££¬È´Ã»ÓÐÈκδ¦Àí»òÕßÌáʾ¡£Í¨³£ÄãÆðÂëÒª´òÓ¡³öÒì³£ÐÅÏ¢£¬µ±È»Äã×îºÃ¸ù¾ÝÐèÇó¶ÔÒì³£ÐÅÏ¢½øÐд¦Àí¡£
3)ÄÜÅ×ÊÜ¿ØÒì³££¨checked Exception£©¾Í¾¡Á¿²»Å×·ÇÊÜ¿ØÒì³£(unchecked Exception)¡£Í¨¹ýÈ¥µôÖظ´µÄÒì³£´¦Àí´úÂ룬¿ÉÒÔÌá¸ß´úÂëµÄ¿É¶ÁÐÔ¡£
4) ¾ø¶Ô²»ÒªÈÃÄãµÄÊý¾Ý¿âÏà¹ØÒì³£ÏÔʾµ½¿Í»§¶Ë¡£ÓÉÓÚ¾ø´ó¶àÊýÊý¾Ý¿âºÍSQLExceptionÒì³£¶¼ÊÇÊÜ¿ØÒì³££¬ÔÚJavaÖУ¬ÄãÓ¦¸ÃÔÚDAO²ã°ÑÒì³£ÐÅÏ¢´¦Àí£¬È»ºó·µ»Ø´¦Àí¹ýµÄÄÜÈÃÓû§¿´¶®²¢¸ù¾ÝÒì³£ÌáʾÐÅÏ¢¸ÄÕý²Ù×÷µÄÒì³£ÐÅÏ¢¡£
5) ÔÚJavaÖУ¬Ò»¶¨ÒªÔÚÊý¾Ý¿âÁ¬½Ó£¬Êý¾Ý¿â²éѯ£¬Á÷´¦Àíºó£¬ÔÚfinally¿éÖе÷ÓÃclose()·½·¨¡£ÎÒÒѾ­ÔÚÎÒµÄÎÄÕÂTop 10 Java exception handling best practicesÖзÖÏíÁ˹ØÓÚÕâ·½ÃæµÄºÜ¶à֪ʶ£¬ÄãÃÇÒ²¿ÉÒÔ¿´¿´ÕâƪÎÄÕ¡£


5) ¼ÈÈ»ÎÒÃÇ¿ÉÒÔÓÃRuntimeExceptionÀ´´¦Àí´íÎó£¬ÄÇôÄãÈÏΪΪʲôJavaÖл¹´æÔÚ¼ì²éÐÍÒì³£
ÕâÊÇÒ»¸öÓÐÕùÒéµÄÎÊÌ⣬Ôڻشð¸ÃÎÊÌâʱÄãÓ¦µ±Ð¡ÐÄ¡£ËäÈ»ËûÃǿ϶¨Ô¸ÒâÌýµ½ÄãµÄ¹Ûµã£¬µ«ÆäʵËûÃÇ×î¸ÐÐËȤµÄ»¹ÊÇÓÐ˵·þÁ¦µÄÀíÓÉ¡£ÎÒÈÏΪÆäÖÐÒ»¸öÀíÓÉÊÇ£¬´æÔÚ¼ì²éÐÍÒì³£ÊÇÒ»¸öÉè¼ÆÉϵľö¶¨£¬Êܵ½ÁËÖîÈçC++µÈ±ÈJava¸üÔçµÄ±à³ÌÓïÑÔÉè¼Æ¾­ÑéµÄÓ°Ïì¡£¾ø´ó¶àÊý¼ì²éÐÍÒ쳣λÓÚjava.io°üÄÚ£¬ÕâÊǺϺõÇéÀíµÄ£¬ÒòΪÔÚÄãÇëÇóÁ˲»´æÔÚµÄϵͳ×ÊÔ´µÄʱºò£¬Ò»¶Îǿ׳µÄ³ÌÐò±ØÐëÄܹ»ÓÅÑŵĴ¦ÀíÕâÖÖÇé¿ö¡£Í¨¹ý°ÑIOExceptionÉùÃ÷Ϊ¼ì²éÐÍÒì³££¬Java È·±£ÁËÄãÄܹ»ÓÅÑŵĶÔÒì³£½øÐд¦Àí¡£ÁíÒ»¸ö¿ÉÄܵÄÀíÓÉÊÇ£¬¿ÉÒÔʹÓÃcatch»òfinallyÀ´È·±£ÊýÁ¿ÊÜÏÞµÄϵͳ×ÊÔ´£¨±ÈÈçÎļþÃèÊö·û£©ÔÚÄãʹÓúó¾¡ÔçµÃµ½ÊÍ·Å¡£ Joshua Bloch±àдµÄ Effective Java Ò»Êé ÖжദÉæ¼°µ½Á˸û°Ì⣬ֵµÃÒ»¶Á¡£


6) throw ºÍ throwsÕâÁ½¸ö¹Ø¼ü×ÖÔÚjavaÖÐÓÐʲô²»Í¬
Ò»¸öjava³õѧÕßÓ¦¸ÃÕÆÎÕµÄÃæÊÔÎÊÌâ¡£ throw ºÍ throwsÕ§¿´ÆðÀ´ÊǺÜÏàËƵÄÓÈÆäÊÇÔÚÄ㻹ÊÇÒ»¸öjava³õѧÕßµÄʱºò¡£¾¡¹ÜËûÃÇ¿´ÆðÀ´ÏàËÆ£¬¶¼ÊÇÔÚ´¦ÀíÒ쳣ʱºòʹÓõ½µÄ¡£µ«ÔÚ´úÂëÀïµÄʹÓ÷½·¨ºÍÓõ½µÄµØ·½ÊDz»Í¬µÄ¡£throws×ÜÊdzöÏÖÔÚÒ»¸öº¯ÊýÍ·ÖУ¬ÓÃÀ´±êÃ÷¸Ã³ÉÔ±º¯Êý¿ÉÄÜÅ׳öµÄ¸÷ÖÖÒì³£, ÄãÒ²¿ÉÒÔÉêÃ÷δ¼ì²éµÄÒì³££¬µ«Õâ²»ÊDZàÒëÆ÷Ç¿ÖƵġ£Èç¹û·½·¨Å׳öÁËÒì³£ÄÇôµ÷ÓÃÕâ¸ö·½·¨µÄʱºò¾ÍÐèÒª½«Õâ¸öÒì³£´¦Àí¡£ÁíÒ»¸ö¹Ø¼ü×Ö throw ÊÇÓÃÀ´Å׳öÈÎÒâÒì³£µÄ£¬°´ÕÕÓï·¨Äã¿ÉÒÔÅ׳öÈÎÒâ Throwable (i.e. Throwable »òÈκÎThrowableµÄÑÜÉúÀà) , throw

Ê×Ò³ ÉÏÒ»Ò³ 1 2 3 ÏÂÒ»Ò³ βҳ 1/3/3
¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
ÉÏһƪ£ºÄϾ©-»úÓöÈí¼þ¹«Ë¾ÃæÊÔÌâ ÏÂһƪ£º»ªÎªÃæÊÔ¾­Ñé×ܽá

×îÐÂÎÄÕÂ

ÈÈÃÅÎÄÕÂ

Hot ÎÄÕÂ

Python

C ÓïÑÔ

C++»ù´¡

´óÊý¾Ý»ù´¡

linux±à³Ì»ù´¡

C/C++ÃæÊÔÌâÄ¿