java 拋出異常處理的方法
java 拋出異常處理的方法
為了避免調(diào)用的人不知道有異常,才拋出異常的,所以是誰掉用的久在哪里處理。說的對嗎
對.
1、throws關(guān)鍵字通常被應(yīng)用在聲明方法時,用來指定可能拋出的異常。多個異??梢允褂枚禾柛糸_。當在主函數(shù)中調(diào)用該方法時,如果發(fā)生異常,就會將異常拋給指定異常對象。
如下面例子所示:
public class Shoot { 創(chuàng)建類 static void pop() throws NegativeArraySizeException { //定義方法并拋出NegativeArraySizeException異常 int [] arr = new int[-3];//創(chuàng)建數(shù)組 } public static void main(String[] args) {//主方法 try { pop(); //調(diào)用pop()方法 } catch (NegativeArraySizeException e) { System.out.println("pop()方法拋出的異常");//輸出異常信息 } } }
2、throw關(guān)鍵字通常用在方法體中,并且拋出一個異常對象。程序在執(zhí)行到throw語句時立即停止,它后面的語句都不執(zhí)行。通過throw拋出異常后,如果想在上一級代碼中來捕獲并處理異常,則需要在拋出異常的方法中使用throws關(guān)鍵字在方法聲明中指明要跑出的異常;如果要捕捉throw拋出的異常,則必須使用try—catch語句。
舉例如下:
class MyException extends Exception { //創(chuàng)建自定義異常類 String message; //定義String類型變量 public MyException(String ErrorMessagr) { //父類方法 message = ErrorMessagr; } public String getMessage(){ //覆蓋getMessage()方法 return message; } } public class Captor { //創(chuàng)建類 static int quotient(int x,int y) throws MyException{//定義方法拋出異常 if(y < 0){ //判斷參數(shù)是否小于0 throw new MyException("除數(shù)不能是負數(shù)");//異常信息 } return x/y;//返回值 } public static void main(String args[]){ //主方法 try{ //try語句包含可能發(fā)生異常的語句 int result = quotient(3,-1);//調(diào)用方法quotient() }catch (MyException e) { //處理自定義異常 System.out.println(e.getMessage()); //輸出異常信息 } catch (ArithmeticException e) { //處理ArithmeticException異常 System.out.println("除數(shù)不能為0");//輸出提示信息 } catch (Exception e) { //處理其他異常 System.out.println("程序發(fā)生了其他的異常"); //輸出提示信息 } } }
以上就是java處理異常的方法,如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
Java Thread之Sleep()使用方法總結(jié)
這篇文章主要介紹了Java Thread之Sleep()使用方法總結(jié),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05SpringBoot結(jié)合dev-tool實現(xiàn)IDEA項目熱部署的流程步驟
這篇文章主要給大家介紹了SpringBoot結(jié)合dev-tool實現(xiàn)IDEA項目熱部署的流程步驟,文章通過圖文介紹的非常詳細,對大家的學(xué)習(xí)有一定的幫助,需要的朋友可以參考下2023-10-10Spring中@RestController和@Controller的使用及區(qū)別
這篇文章主要介紹了Spring中@RestController和@Controller的使用及區(qū)別,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-03-03IDEA2020.1同步系統(tǒng)設(shè)置到GitHub的方法
這篇文章主要介紹了IDEA2020.1同步系統(tǒng)設(shè)置到GitHub的方法,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05Java設(shè)計模式編程中的工廠方法模式和抽象工廠模式
這篇文章主要介紹了Java設(shè)計模式編程中的工廠方法模式和抽象工廠模式,設(shè)計模式的建立有利于團隊協(xié)作時代碼的共同維護,需要的朋友可以參考下2016-01-01Spring容器-BeanFactory和ApplicationContext使用詳解
這篇文章主要為大家介紹了Spring容器-BeanFactory和ApplicationContext的使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-04-04