1.javaä¸å¸¸è§çå¼å¸¸ç±»
2.throwableåExceptionçåºå«(详ç»ä¸ç¹)
3.exception和error区别
javaä¸å¸¸è§çå¼å¸¸ç±»
ä»å¼å¸¸ç±»ç继æ¿æ¶æå¾ä¸å¯ä»¥çåºï¼Exception ç±»æ©å±åºæ°ä¸ªåç±»ï¼å ¶ä¸ IOExceptionãRunntimeException æ¯è¾å¸¸ç¨ç两ç§ãä¹ æ¯ä¸å° Error ä¸ Exception ç±»ç»ç§°ä¸ºå¼å¸¸ç±»ï¼ä½è¿ä¸¤è æ¬è´¨ä¸è¿æ¯æä¸åçãError ç±»ä¸é¨ç¨æ¥å¤ç严éå½±åç¨åºè¿è¡çé误ï¼å¯æ¯é常ç¨åºè®¾è®¡è ä¸ä¼è®¾è®¡ç¨åºä»£ç å»ææè¿ç§é误ï¼å ¶åå å¨äºå³ä½¿ææå°å®ï¼ä¹æ æ³ç»äºéå½çå¤çï¼å¦ JAVA èææºåºéå°±å±äºä¸ç§ Errorã
ä¸åäº Error ç±»ï¼Exception ç±»å å«äºä¸è¬æ§çå¼å¸¸ï¼è¿äºå¼å¸¸é常å¨ææå°ä¹å便å¯å妥åçå¤çï¼ä»¥ç¡®ä¿ç¨åºç»§ç»è¿è¡ï¼å¦ TestException7_2 éæææå°ç ArrayIndexOutOfBoundsException å°±æ¯å±äºè¿ç§å¼å¸¸ã
RunntimeException å³ä½¿ä¸ç¼åå¼å¸¸å¤ççç¨åºä»£ç ï¼ä¾ç¶å¯ä»¥ç¼è¯æåï¼èè¿ç§å¼å¸¸å¿ é¡»æ¯å¨ç¨åºè¿è¡æ¶ææå¯è½åçï¼ä¾å¦ï¼æ°ç»çç´¢å¼å¼è¶ åºäºèå´ã
ä¸RunntimeException ä¸åçæ¯ï¼IOException ä¸å®è¦ç¼åå¼å¸¸å¤ççç¨åºä»£ç æè¡ï¼å®é常ç¨æ¥å¤çä¸è¾å ¥/è¾åºç¸å ³çæä½ï¼å¦æ件ç访é®ãç½ç»çè¿æ¥çã
å½å¼å¸¸åçæ¶ï¼åçå¼å¸¸çè¯å¥ä»£ç ä¼æåºä¸ä¸ªå¼å¸¸ç±»çå®ä¾å对象ï¼ä¹åæ¤å¯¹è±¡ä¸ catch è¯å¥ä¸çç±»çç±»åè¿è¡å¹é ï¼ç¶åå¨ç¸åºç catch ä¸è¿è¡å¤çã
æ©å±èµæï¼
Javaå¼å¸¸çåç±»ï¼
Javaæ å裤å 建äºä¸äºéç¨çå¼å¸¸ï¼è¿äºç±»ä»¥Throwable为顶å±ç¶ç±»ã
Throwableåæ´¾çåºErrorç±»åExceptionç±»ã
é误ï¼Error类以åä»çåç±»çå®ä¾ï¼ä»£è¡¨äºJVMæ¬èº«çé误ãé误ä¸è½è¢«ç¨åºåéè¿ä»£ç å¤çï¼Errorå¾å°åºç°ãå æ¤ï¼ç¨åºååºè¯¥å ³æ³¨Exception为ç¶ç±»çåæ¯ä¸çåç§å¼å¸¸ç±»ã
å¼å¸¸ï¼Exception以åä»çåç±»ï¼ä»£è¡¨ç¨åºè¿è¡æ¶åéçåç§ä¸ææåççäºä»¶ãå¯ä»¥è¢«Javaå¼å¸¸å¤çæºå¶ä½¿ç¨ï¼æ¯å¼å¸¸å¤ççæ ¸å¿ã
åèèµæï¼ç¾åº¦ç¾ç§-å¼å¸¸
throwableåExceptionçåºå«(详ç»ä¸ç¹)
catch
n. ææ,源码源码é·é±,æè·ç©
v. æä½ï¼èµ¶ä¸,äºè§£,ææ
Throwable å¯ææ·ç
exception n. ä¾å¤
Please read:
/bbs/dispbbs.asp?boardid=&ID=&replyID=
Javaè¯è¨è¦æ±javaç¨åºä¸ï¼æ 论æ¯è°åç代ç ï¼æææåºï¼throwï¼çå¼å¸¸é½å¿ é¡»æ¯ä»Throwableæ´¾çèæ¥ãå½ç¶ï¼å®é çJavaç¼ç¨ä¸ï¼ç±äºJDKå¹³å°å·²ç»ä¸ºæ们设计好äºé常丰å¯åå®æ´çå¼å¸¸å¯¹è±¡å类模åãå æ¤ï¼javaç¨åºåä¸è¬æ¯ä¸éè¦åéæ°å®ä¹èªå·±çå¼å¸¸å¯¹è±¡ãèä¸å³ä¾¿æ¯éè¦æ©å±èªå®ä¹çå¼å¸¸å¯¹è±¡ï¼ä¹å¾å¾ä¼ä»Exceptionæ´¾çèæ¥ãæ以ï¼å¯¹äºjavaç¨åºåèè¨ï¼å®ä¸è¬åªéè¦å¨å®ç顶级å½æ°ä¸catch(Exception ex)å°±å¯ä»¥æè·åºææçå¼å¸¸å¯¹è±¡ã ææå¼å¸¸å¯¹è±¡çæ ¹åºç±»æ¯ Throwable ï¼Throwableä»Objectç´æ¥ç»§æ¿èæ¥ï¼è¿æ¯javaç³»ç»æ强å¶è¦æ±çï¼ï¼å¹¶ä¸å®å®ç°äº Serializableæ¥å£ï¼è¿ä¸ºææçå¼å¸¸å¯¹è±¡é½è½å¤è½»æ¾è·¨è¶Javaç»ä»¶ç³»ç»å好äºæå åçç©è´¨åå¤ï¼ãä»Throwableç´æ¥æ´¾çåºçå¼å¸¸ç±»æExceptionåError ãExceptionæ¯javaç¨åºåææçæçï¼å®ä¸è¬ä»£è¡¨äºçæ£å®é æä¹ä¸çå¼å¸¸å¯¹è±¡çæ ¹åºç±»ãä¹å³æ¯è¯´ï¼ Exception åä»å®æ´¾çèæ¥çææå¼å¸¸é½æ¯åºç¨ç¨åºè½å¤catchå°çï¼å¹¶ä¸å¯ä»¥è¿è¡å¼å¸¸é误æ¢å¤å¤ççå¼å¸¸ç±»åãèErrorå表示Javaç³»ç»ä¸åºç°äºä¸ä¸ªé常严éçå¼å¸¸é误ï¼å¹¶ä¸è¿ä¸ªé误å¯è½æ¯åºç¨ç¨åºæä¸è½æ¢å¤çï¼ä¾å¦LinkageError ï¼æ ThreadDeath çã
exception和error区别
以java为例,其exception和error的源码源码区别如下:
1、Exception和Error都继承了Throwable类,源码源码在java中只有Throwable类型的源码源码golang map 源码实例才可以被抛出(Throw)或者捕捉(catch),它是源码源码异常处理机制的基本组成类型。Exception是源码源码源码能查到行程吗程序正常运行中,可以预料的源码源码意外情况,可能并且应该被捕获,源码源码进行相应的源码源码处理。
2、源码源码Error指在正常情况下,源码源码不大可能出现的源码源码情况,绝大部门的源码源码主图筹码带源码Error都会导致程序处于非正常的,不可恢复状态。源码源码既然是源码源码非正常情况,所以不便于也不需要捕获。仿JJ斗地主源码比如常见的OutOfMemoryError之类,都是Error的子类。
Exception类又分为可检查异常(checked)和不检查异常(unchecked),众衡云充值源码可检查异常在源码里必须显示的进行捕获处理,这是编译期检查的一部分。不检查异常就是所谓的运行时异常,类似NullPointerException,ArrayIndexOutOfBoundsException之类,通常是可以编码避免的逻辑错误。