运行时异常与一般异常有何异同_Java修行第015天,异常机制和常用类
1. 異常概念_分類
1) 什么叫異常?
答:異常(Expection)就是在程序運行過程中所發(fā)生的不正常的事件,它會中斷正在運行的程序
2) 請簡述異常的分類?
答:異常分為Error(僅靠程序本身無法恢復的嚴重錯誤)和由Java應用程序 拋出和處理的非嚴重錯誤.
非嚴重錯誤又分為Checked異常(程序必須處理該異常)和運行異常(不要求程序必須作出處理).
2. 異常處理方式之一_捕獲異常
(1) 捕獲異常所使用的關鍵字有哪些?
答:關鍵字有:try,catch,finally
(2) try-catch-finally有幾種結(jié)合形式,每種組合形式的執(zhí)行順序是什么?
答:有:1)try-catch 正常情況:直接執(zhí)行try-catch塊后的代碼段
異常情況,異常出現(xiàn)的類型與捕獲的類型匹配
異常情況,異常出現(xiàn)的類型與捕獲的類型不匹配
2)try-finally finally 是無論是否產(chǎn)生異常,都執(zhí)行的代碼,但是有一種情況 finally 不執(zhí)行,即退出 Java 虛擬機。
(3) 3)try-catch-finallya) 正常情況:執(zhí)行 try-finally
異常情況:類型相匹配,執(zhí)行 try-catch-finally
異常情況:類型不相匹配,執(zhí)行 try-finally
如果在 catch 中存在 return 語句,則先執(zhí)行完 finally 語句再回頭執(zhí) 行 return 語句
3. 異常處理方式之二_聲明異常
(1) 繼承關系中如何聲明異常?
如果父類中方法聲明了exception類型的異常,那么子類在重寫時可以聲明也可以不聲明.但如果要調(diào)用super關鍵字父類方法時,要求必須對異常進行處理
(2) throw與throws的區(qū)別是什么?
答:(1) throws 用于聲明方法可能會產(chǎn)生的異常類型
throw 手動拋出異常對象
(2) throws 寫在方法名稱后面
throw 用于寫在方法里
4. 常見簡單異常的解決辦法
(1) 請你列舉出五個常見的運行時異常?
答:
(2) 請你列舉出五個常見的檢查時異常?
答:SQLException
IOException
ParseException
5. 自定義異常
(3) 為什么需要自定義異常?
答:因為在程序中,可能會遇到任何標準異常都沒有充分的描述請問題,這是可以自己創(chuàng)建異常類
(4) 自定義異常的步驟是什么?
答:1.繼承Exception或RuntimeException
1. 2.定義構(gòu)造方法
2. 3.使用異常
6. 包裝類的基本用法
(1) 為什么需要包裝類?
答:Java并不是純面向?qū)ο蟮恼Z言,因為Java的基本數(shù)據(jù)類型卻不是面向?qū)ο蟮?而我們實際使用中經(jīng)常需要將基本數(shù)據(jù)類型轉(zhuǎn)化成對象,便于操作.
(2) 包裝類的繼承關系是什么?
答:
7. 自動裝箱和拆箱
(3) 請你簡述什么叫自動裝箱?什么叫自動拆箱?
答:auto-boxing基本類型自動的封裝到與它相同的類型的包裝類中
Unboxing包裝對象自動轉(zhuǎn)成基本數(shù)據(jù)類型
(4) 請你簡述Integer類中的內(nèi)部類IntegerCache的作用?
答:Cache 為[-128,127],IntegerCache 有一個靜態(tài)的 Integer 數(shù)組,在類加 載時就將-128 到 127 的 Integer 對象創(chuàng)建了,并保存在 cache 數(shù)組中,一旦程序調(diào)用 valueOf 方法,如果取的值是在-128 到 127 之間就直接在 cache 緩存數(shù)組中去取Integer 對象,超出范圍就 new 一個對象。
8. String類底層分析_JDK源碼分析
(5) String類的底層數(shù)據(jù)結(jié)構(gòu)是什么?
答:String 的底層數(shù)據(jù)結(jié)構(gòu)是 char 類型的數(shù)組String 的相應方法的實現(xiàn) 實際上就是對數(shù)組的一個操作
(6) 為什么String類的值只能被共享不能被更改?
答:String 類對象代表不可變的Unicode字符序列,因此我們可以將String對象稱為“不可變對象”。
9. StringBuilder,Stringbuffer用法_jdk底層源碼分析
(7) StringBuffer與StringBuilder的異同點是什么?
答:StringBuilder:效率高,安全性低;
StringBuffer:效率低,安全性高;
(8) String與StringBuffer的異同點是什么?
答:相同點:都代表字符串的類
不同點:String不可更改效率低,StringBuffer效率高
總結(jié)
以上是生活随笔為你收集整理的运行时异常与一般异常有何异同_Java修行第015天,异常机制和常用类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: javascript --- js中的
- 下一篇: java remove all_如何使用