




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第一篇文章看懂Java異常處理目錄異常的定義異常的分類異常的處理方法try…catch處理throw和throws自定義異常總結(jié)
異常的定義
在java中,異常就是java在編譯、運行或運行過程中出現(xiàn)的錯誤
總共有三種:1.編譯錯誤2.運行錯誤3.邏輯錯誤
1.編譯錯誤是因為程序沒有遵循語法規(guī)則,編譯程序能夠自己發(fā)現(xiàn)并且提示我們錯誤的原因和位置,這個也是新手在剛接觸編程語言時經(jīng)常遇到的問題。
2.運行時錯誤是因為程序在執(zhí)行時,運行環(huán)境發(fā)現(xiàn)了不能執(zhí)行的操作。
3.邏輯錯誤是因為程序沒有按照預(yù)期的邏輯順序執(zhí)行。異常也就是指程序運行時發(fā)生錯誤,而異常處理就是對這些錯誤進行處理和控制。
packageorg.oracle.test;
publicclassTryDemo9{
publicstaticvoidmain(String[]args){
System.out.println(1/0);//0不能做除數(shù)
System.out.println("你好");//程序捕獲異常,程序終止,不執(zhí)行
在代碼執(zhí)行過程中遇到異常就會終止
運行的結(jié)果里會告訴我們異常的類型,異常出現(xiàn)的位置
異常的分類
RuntimeException:運行時異常,一般不手動處理,出問題了再處理。
其他Exception:必須要經(jīng)過手動處理。
Error:一般指的是系統(tǒng)級錯誤。
異常的處理方法
try…catch處理
packageorg.oracle.test;
importjava.util.Scanner;
publicclassTryDemo2{
publicstaticvoidmain(String[]args){
System.out.println(testOne());
*當(dāng)try、catch、finally代碼塊中都有return語句,
*程序無論報錯與否都會執(zhí)行finally里面的renturn語句
publicstaticdoubletestOne(){
try{
Scannersc=newScanner(System.in);
System.out.println("請輸入第一個數(shù)字:");
inta=sc.nextInt();
System.out.println("請輸入第二個數(shù)字:");
intb=sc.nextInt();
intresult=a/b;
//System.out.println("result:"+result);
System.out.println("執(zhí)行了try塊");
returnresult;
}catch(Exceptione){
e.printStackTrace();
return0;
}finally{
return-1000;
運行結(jié)果:
try--用于監(jiān)聽。將要被監(jiān)聽的代碼(可能拋出異常的代碼)放在try語句塊之內(nèi),當(dāng)try語句塊內(nèi)發(fā)生異常時,異常就被拋出。
catch--用于捕獲異常。catch用來捕獲try語句塊中發(fā)生的異常。
finally--finally語句塊總是會被執(zhí)行。它主要用于回收在try塊里打開的物力資源(如數(shù)據(jù)庫連接、網(wǎng)絡(luò)連接和磁盤文件)。
throw和throws
throws表示方法準備要扔出來一個異常
throw表示向外拋出異常
packageorg.oracle.test;
importjava.util.InputMismatchException;
publicclassTryDemo8{
publicstaticvoidmain(String[]args){
try{
testThree();
}catch(Exceptione){
System.out.println(e.getMessage());
e.printStackTrace();
publicstaticvoidtestOne()throwsInputMismatchException{
thrownewInputMismatchException();
publicstaticvoidtestTwo()throwsException{
try{
testOne();
}catch(InputMismatchExceptione){
thrownewException("新異常1",e);
publicstaticvoidtestThree()throwsException{
try{
testTwo();
}catch(Exceptione){
Exceptione1=newException("新異常2");
e1.initCause(e);
throwe1;
運行結(jié)果:
自定義異常
自定義異常:直接繼承Exception或者RuntimeException來是實現(xiàn)自定義異常
packageorg.oracle.test;
importjava.util.Scanner;
publicclassTryDemo6{
publicstaticvoidmain(String[]args){
try{
hotelRule();
}catch(Exceptione){
e.printStackTrace();
*基帝開了個情侶酒店,基帝酒店規(guī)矩:18歲以下和80歲上以上客戶,需要家人陪同入住
publicstaticvoidhotelRule()throwsException{
Scannersc=newScanner(System.in);
System.out.prin
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 7技術(shù)合同非專利技術(shù)轉(zhuǎn)讓合同3篇
- 景觀設(shè)計總結(jié)匯報
- 大米包裝設(shè)計調(diào)研報告
- 2025遼寧裝備制造職業(yè)技術(shù)學(xué)院輔導(dǎo)員考試試題及答案
- 2025貴州醫(yī)科大學(xué)輔導(dǎo)員考試試題及答案
- 2025貴陽幼兒師范高等??茖W(xué)校輔導(dǎo)員考試試題及答案
- 2025萍鄉(xiāng)衛(wèi)生職業(yè)學(xué)院輔導(dǎo)員考試試題及答案
- 2025甘肅建筑職業(yè)技術(shù)學(xué)院輔導(dǎo)員考試試題及答案
- 2025白銀礦冶職業(yè)技術(shù)學(xué)院輔導(dǎo)員考試試題及答案
- 著名設(shè)計師及其設(shè)計理念
- 食堂意見反饋制度
- 老舊小區(qū)改造管道開挖方案
- QCT1010-2023汽車離合器助力器
- 北京市大興區(qū)六年級下冊數(shù)學(xué)期末測試卷附答案
- JT-T-607-2004高速公路可變信息標志信息的顯示和管理
- 加氣站安全檢查管理規(guī)定
- 第24屆世界奧林匹克數(shù)學(xué)競賽WMO省級測評三年級試卷【含答案】
- 急性髓系白血病小講課
- 2024火電廠智能巡檢機器人系統(tǒng)應(yīng)用
- 財務(wù)管理制度的內(nèi)部準則與行為規(guī)范
- 夜場醫(yī)美行業(yè)分析
評論
0/150
提交評論