Java中try catch的使用和如何拋出異常問(wèn)題
try catch的使用和拋出異常問(wèn)題
在我們?nèi)粘>幊踢^(guò)程中,異常伴隨我們終身,常見(jiàn)的異常分為受檢性異常(一般異常)和非受檢性異常。
受檢性異常指的是編譯時(shí)期出現(xiàn)異常,非受檢性異常顧名思義,編譯通過(guò),但是運(yùn)行時(shí)期出現(xiàn)異常。
Java基礎(chǔ)要求我們首先學(xué)會(huì)看識(shí)別異常
以下舉例幾種常見(jiàn)的異常
- ①空指針異常:NullPointerException
- ②數(shù)組索引越界異常:ArrayIndexOutOfBoundsException
- ③:類轉(zhuǎn)換異常:ClassCastException等等。
編譯時(shí)期出現(xiàn)的異常
異常類型:異常提示說(shuō)明
at 異常位置
at java.utils.Scanner(Demo04.java:17)
at java.utils.Scanner(Demo04.java:18)
at com.qf.ran.exception.Demo04.main(Demo04.java:17)
at com.qf.ran.exception.Demo04.method(Demo04.java:24)
一般at后面緊跟錯(cuò)誤的異常,出現(xiàn)異常的代碼行數(shù),雙擊便能查看。
在日常項(xiàng)目的編程過(guò)程中,空指針是出現(xiàn)的常見(jiàn)問(wèn)題之一。
當(dāng)你花費(fèi)大量時(shí)間完成一個(gè)項(xiàng)目時(shí),卻被一兩個(gè)異常影響下面的代碼,因此便需要引用try catch方法。
廢話少說(shuō),直接上才藝:
try{ 可能會(huì)出現(xiàn)異常的代碼 }catch(異常類型 e){ 異常處理方式 }
try塊中放的是可能會(huì)出現(xiàn)異常的代碼,catch塊是處理異常的代碼,當(dāng)try塊中的代碼出現(xiàn)異常,try塊則結(jié)束,但不影響后續(xù)程序的執(zhí)行。
聲明異常類型throws用的較少,含義是當(dāng)程序出現(xiàn)異常時(shí),會(huì)中止當(dāng)前方法。
用法環(huán)境
不知道該如何處理當(dāng)前異常的時(shí)候使用,需要統(tǒng)一處理的時(shí)候。
//自定義異常:統(tǒng)一處理異常 拋出異常對(duì)象(throw),會(huì)使程序中止 public class Demo04{ public static void main(String[] args){ try{ String str = null; System.out.println(str.equals("")); System.out.println("try即將結(jié)束"); }catch(NullPointerException e){ //拋出異常對(duì)象 throw new MyException("Demo04 第13行的 str 可能出現(xiàn) null "); } System.out.println("程序即將結(jié)束"); } }
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Idea自動(dòng)生成Entity實(shí)現(xiàn)過(guò)程詳解
這篇文章主要介紹了Idea自動(dòng)生成Entity實(shí)現(xiàn)過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09mybatis-plus 處理大數(shù)據(jù)插入太慢的解決
這篇文章主要介紹了mybatis-plus 處理大數(shù)據(jù)插入太慢的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12完美解決MybatisPlus插件分頁(yè)查詢不起作用總是查詢?nèi)繑?shù)據(jù)問(wèn)題
這篇文章主要介紹了解決MybatisPlus插件分頁(yè)查詢不起作用總是查詢?nèi)繑?shù)據(jù)問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08java應(yīng)用程序如何自定義log4j配置文件的位置
這篇文章主要介紹了java應(yīng)用程序如何自定義log4j配置文件的位置,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12使用Spring從YAML文件讀取內(nèi)容映射為Map方式
這篇文章主要介紹了使用Spring從YAML文件讀取內(nèi)容映射為Map方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02如何修改json字符串中某個(gè)key對(duì)應(yīng)的value值
這篇文章主要介紹了如何修改json字符串中某個(gè)key對(duì)應(yīng)的value值操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11如何使用SpEL表達(dá)式實(shí)現(xiàn)動(dòng)態(tài)分表查詢
這篇文章主要介紹了如何使用SpEL表達(dá)式實(shí)現(xiàn)動(dòng)態(tài)分表查詢,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12springboot如何通過(guò)@Value,@ConfigurationProperties獲取配置
這篇文章主要介紹了springboot如何通過(guò)@Value,@ConfigurationProperties獲取配置,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03