一篇文章看懂Java異常處理_第1頁
一篇文章看懂Java異常處理_第2頁
一篇文章看懂Java異常處理_第3頁
一篇文章看懂Java異常處理_第4頁
一篇文章看懂Java異常處理_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第一篇文章看懂Java異常處理目錄異常的定義異常的分類異常的處理方法try…catch處理throw和throws自定義異??偨Y

異常的定義

在java中,異常就是java在編譯、運行或運行過程中出現的錯誤

總共有三種:1.編譯錯誤2.運行錯誤3.邏輯錯誤

1.編譯錯誤是因為程序沒有遵循語法規(guī)則,編譯程序能夠自己發(fā)現并且提示我們錯誤的原因和位置,這個也是新手在剛接觸編程語言時經常遇到的問題。

2.運行時錯誤是因為程序在執(zhí)行時,運行環(huán)境發(fā)現了不能執(zhí)行的操作。

3.邏輯錯誤是因為程序沒有按照預期的邏輯順序執(zhí)行。異常也就是指程序運行時發(fā)生錯誤,而異常處理就是對這些錯誤進行處理和控制。

packageorg.oracle.test;

publicclassTryDemo9{

publicstaticvoidmain(String[]args){

System.out.println(1/0);//0不能做除數

System.out.println("你好");//程序捕獲異常,程序終止,不執(zhí)行

在代碼執(zhí)行過程中遇到異常就會終止

運行的結果里會告訴我們異常的類型,異常出現的位置

異常的分類

RuntimeException:運行時異常,一般不手動處理,出問題了再處理。

其他Exception:必須要經過手動處理。

Error:一般指的是系統(tǒng)級錯誤。

異常的處理方法

try…catch處理

packageorg.oracle.test;

importjava.util.Scanner;

publicclassTryDemo2{

publicstaticvoidmain(String[]args){

System.out.println(testOne());

*當try、catch、finally代碼塊中都有return語句,

*程序無論報錯與否都會執(zhí)行finally里面的renturn語句

publicstaticdoubletestOne(){

try{

Scannersc=newScanner(System.in);

System.out.println("請輸入第一個數字:");

inta=sc.nextInt();

System.out.println("請輸入第二個數字:");

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;

運行結果:

try--用于監(jiān)聽。將要被監(jiān)聽的代碼(可能拋出異常的代碼)放在try語句塊之內,當try語句塊內發(fā)生異常時,異常就被拋出。

catch--用于捕獲異常。catch用來捕獲try語句塊中發(fā)生的異常。

finally--finally語句塊總是會被執(zhí)行。它主要用于回收在try塊里打開的物力資源(如數據庫連接、網絡連接和磁盤文件)。

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;

運行結果:

自定義異常

自定義異常:直接繼承Exception或者RuntimeException來是實現自定義異常

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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論