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

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

如何在java7中實(shí)現(xiàn)異常處理

如何在java7中實(shí)現(xiàn)異常處理?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括魚峰網(wǎng)站建設(shè)、魚峰網(wǎng)站制作、魚峰網(wǎng)頁(yè)制作以及魚峰網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,魚峰網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到魚峰省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

在Java 6中處理不同的異常

public Configuration getConfig(String fileName) {
 Configuration cfg = null;
 try {
  String fileText = getFile(fileName);
  cfg = verifyConfig(parseConfig(fileText));
 } catch (FileNotFoundException fnfx) {
  System.err.println("Config file '" + fileName + "' is missing");
 } catch (IOException e) {
  System.err.println("Error while processing file '" + fileName + "'");
 } catch (ConfigurationException e) {
  System.err.println("Config file '" + fileName + "' is not consistent");
 } catch (ParseException e) {
  System.err.println("Config file '" + fileName + "' is malformed");
 }
 return cfg;
}

這個(gè)方法會(huì)遇到的下面幾種異常:

  • 配置文件不存在;

  • 配置文件在正要讀取時(shí)消失了;

  • 配置文件中有語(yǔ)法錯(cuò)誤;

  • 配置文件中可能包含無(wú)效信息。

這些異??梢苑譃閮纱箢?。一類是文件以某種方式丟失或損壞,另一類是雖然文件理論上存在并且是正確的,卻無(wú)法正常讀取(可能是因?yàn)榫W(wǎng)絡(luò)或硬件故障)。

如果能把這些異常情況簡(jiǎn)化為這兩類,并且把所有“文件以某種方式丟失或損壞”的異常放在一個(gè)catch語(yǔ)句中處理會(huì)更好。在Java 7中就可以做到:

在Java 7中處理不同的異常

public Configuration getConfig(String fileName) {
 Configuration cfg = null;
 try {
  String fileText = getFile(fileName);
  cfg = verifyConfig(parseConfig(fileText));
 } catch (FileNotFoundException|ParseException|ConfigurationException e) {
  System.err.println("Config file '" + fileName +
            "' is missing or malformed");
 } catch (IOException iox) {
  System.err.println("Error while processing file '" + fileName + "'");
 }
 return cfg;
}

異常e的確切類型在編譯時(shí)還無(wú)法得知。這意味著在catch塊中只能把它當(dāng)做可能異常的共同父類(在實(shí)際編碼時(shí)經(jīng)常用Exception或Throwable)來(lái)處理。

另外一個(gè)新語(yǔ)法可以為重新拋出異常提供幫助。開發(fā)人員經(jīng)常要在重新拋出異常之前對(duì)它進(jìn)行處理。在前幾個(gè)版本的Java中,經(jīng)??梢钥吹较旅孢@種代碼:

try {
 doSomethingWhichMightThrowIOException();
 doSomethingElseWhichMightThrowSQLException();
} catch (Exception e) {
 ...
 throw e;
}

這會(huì)強(qiáng)迫你把新拋出的異常聲明為Exception類型——異常的真實(shí)類型卻被覆蓋了。

不管怎樣,很容易看出來(lái)異常只能是IOException或SQLException。既然你能看出來(lái),編譯器當(dāng)然也能。下面的代碼中用了Java 7的語(yǔ)法,只改了一個(gè)單詞:

try {
 doSomethingWhichMightThrowIOException();
 doSomethingElseWhichMightThrowSQLException();
} catch (final Exception e) {
 ...
 throw e;
}

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。


當(dāng)前名稱:如何在java7中實(shí)現(xiàn)異常處理
鏈接分享:http://weahome.cn/article/iphjhs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部