真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java中異常處理機(jī)制trycatch的流程示例分析

這篇文章給大家分享的是有關(guān)Java中異常處理機(jī)制try catch的流程示例分析的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

成都創(chuàng)新互聯(lián)公司成立于2013年,我們提供高端成都網(wǎng)站建設(shè)公司成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、網(wǎng)站定制、成都全網(wǎng)營(yíng)銷推廣、微信小程序、微信公眾號(hào)開(kāi)發(fā)、成都網(wǎng)站營(yíng)銷服務(wù),提供專業(yè)營(yíng)銷思路、內(nèi)容策劃、視覺(jué)設(shè)計(jì)、程序開(kāi)發(fā)來(lái)完成項(xiàng)目落地,為成都除甲醛企業(yè)提供源源不斷的流量和訂單咨詢。

在項(xiàng)目中遇到try...catch...語(yǔ)句,因?yàn)閷?duì)Java異常處理機(jī)制的流程不是很清楚,導(dǎo)致對(duì)相關(guān)邏輯代碼不理解。所以現(xiàn)在來(lái)總結(jié)Java異常處理機(jī)制的處理流程:

1.異常處理的機(jī)制如下:在方法中用 try... catch... 語(yǔ)句捕獲并處理異常,catch 語(yǔ)句可以有多個(gè),用來(lái)匹配多個(gè)不同類型的異常。對(duì)于處理不了的異?;蛘咭D(zhuǎn)型的異常,在方法的聲明處通過(guò) throws 聲明異常,通過(guò)throw語(yǔ)句拋出異常,即由上層的調(diào)用方法來(lái)處理該異常。

try {
  邏輯程序塊
} catch(ExceptionType1 e) {
  處理代碼塊1
} catch (ExceptionType2 e) {
  處理代碼塊2
  throw(e);  // 再拋出這個(gè)"異常"
}

2.Exception 是程序正常運(yùn)行過(guò)程中可以預(yù)料到的意外情況,并且應(yīng)該被開(kāi)發(fā)者捕獲,進(jìn)行相應(yīng)的處理。

Exception 可以以兩種方式出現(xiàn):

一是發(fā)生在程序編譯時(shí)或運(yùn)行時(shí)發(fā)生異常,是被程序拋出,用戶沒(méi)有主動(dòng)拋出異常;二是用戶主動(dòng)拋出異常,使用throw關(guān)鍵字主動(dòng)拋出異常。該異??梢允菢I(yè)務(wù)邏輯的異常。

try {
  // 可能發(fā)生異常的語(yǔ)句
} catch(ExceptionType e) {
  // 處理異常語(yǔ)句
}

3.執(zhí)行流程

try語(yǔ)句塊中發(fā)生了異常

如果try語(yǔ)句塊中發(fā)生了異常,那么程序就會(huì)把對(duì)應(yīng)的異常對(duì)象拋出,然后catch語(yǔ)句就會(huì)捕獲該異常并且處理。

注意:如在try語(yǔ)句塊的第二句語(yǔ)句發(fā)生異常,那么在第二句以后的語(yǔ)句都不會(huì)執(zhí)行了,轉(zhuǎn)到catch語(yǔ)句塊中開(kāi)始執(zhí)行。處理完catch語(yǔ)句塊的內(nèi)容,就會(huì)執(zhí)行catch語(yǔ)句塊之后的內(nèi)容

try語(yǔ)句塊中沒(méi)有發(fā)生異常

如果try語(yǔ)句塊中沒(méi)有發(fā)生異常,那么try語(yǔ)句塊中的內(nèi)容會(huì)由上到下依次執(zhí)行,然后catch語(yǔ)句塊會(huì)全部被跳過(guò),接下來(lái)執(zhí)行catch語(yǔ)句塊之后的內(nèi)容。

Java中異常處理機(jī)制try catch的流程示例分析

舉個(gè)栗子:

public class ExceptionTest {
  public static void main(String[] args) {
 
    for (int i = 0; i < 3; i++) {
      String message = "";
      int a = 0;
      try{
        if (i == 1){
          throw new Exception("錯(cuò)誤");
        }
        message = "正確";
        a= 123;
      }catch (Exception e){
        message = e.getMessage();
      }
      System.out.println( "i 等于" + i);
 
      System.out.println(message );
      System.out.println("a = " + a+ "\n");
    }
  }
} 

輸出結(jié)果分析:

當(dāng)有i = 2時(shí),用戶主動(dòng)拋出異常,可以看到為 message= "正確";a =123;的賦值語(yǔ)句沒(méi)有執(zhí)行, 進(jìn)入到catch語(yǔ)句塊中,然后再執(zhí)行catch語(yǔ)句塊以后的內(nèi)容message = e.getMessage(); 這里message = "錯(cuò)誤",因?yàn)閠hrow new Exception("錯(cuò)誤"); 在拋出異常時(shí)賦值了message為"錯(cuò)誤";

message = "錯(cuò)誤"
a = 0

輸出結(jié)果

i 等于0
正確
a = 123
i 等于1
正確
a = 123
i 等于2
錯(cuò)誤
a = 0

感謝各位的閱讀!關(guān)于“Java中異常處理機(jī)制try catch的流程示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!


當(dāng)前題目:Java中異常處理機(jī)制trycatch的流程示例分析
標(biāo)題URL:http://weahome.cn/article/gisesd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部