亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 異常處理優(yōu)劣觀(轉(zhuǎn)載).txt

?? Java技術(shù)大合集,所有常用的技術(shù)在里面都有簡單例子
?? TXT
字號:
作者:運氣
email: webmaster@chinaspx.com
日期:7/1/2001 10:10:46 PM
Java編程中的異常處理是一個很常見的話題了,幾乎任何一門介紹性的Java課程都會提到異常處理。不過,我認為很多人其實并沒有真正掌握正確處理異常情況的方法和策略,最多也就不過了解個大概,知道點概念。本文就對三種不同程度和質(zhì)量的Java異常處理進行了討論,所闡述的處理異常的方式按手法的高下分為:好,不好和惡劣三種。同時向你提供了一些解決這些問題的技巧。 
異常處理提供了處理程序錯誤的統(tǒng)一機制。事實上,Java語言通過向調(diào)用者提出異常警告的方式而顯著地提升了軟件開發(fā)中的異常處理能力。這種方式把Java語言中的“方法(method)”進行了擴展和增強,使之包括了自身的錯誤條件。下面就讓我們看一個例子,這個例子說明了這種情況。 
以下是FileInputStream構(gòu)造器之一的原型: 
public FileInputStream(String name) throws FileNotFoundException  
這個原型和C或者C++語言中的同類原形都不一樣,Java的方法和構(gòu)造器必須聲明他們在被調(diào)用時可能“扔出”的異常,采用的關(guān)鍵字就是“throws”。這種在方法原型中出現(xiàn)的異常提示增加了編程的可靠性。顯而易見,這種方式是向方法的調(diào)用者提示意了可能出現(xiàn)的異常條件,這樣調(diào)用者就可以對這些異常作出適當(dāng)?shù)南鄳?yīng)處理。 
以下代碼示意我們是如何捕獲并且處理FileNotFoundException 這一異常的: 
try 
 { 
 FileInputStream fis = new FileInputStream(args[0]);  
 // other code here ...  
 } catch (FileNotFoundException fnfe)  
 { 
 System.out.println("File: " + args[0] + " not found. Aborting.");  
 System.exit(1);  
 } 
Java異常處理還有其他一些優(yōu)秀的特性,這就是可檢查異常、用戶定義異常和在JDK 1.4中推出的新型Java記錄API(Java Logging API)。 
java.lang.Exception的所有子類都屬于可檢查異常。可檢查異常(checked exception)是扔出該異常的方法所必須提示的異常,這種異常必須被捕獲或者向調(diào)用者提示。 
用戶定義異常(User-defined exceptions)是定制的異常類,這種異常類擴展了java.lang.Exception類。優(yōu)良的Java程序規(guī)定定制異常封裝、報告和處理他們自己獨有的情況。最新的Java記錄API(logging API)則可以集中記錄異常。 
不好 
Java異常處理不好的一面包括兩種情況:濫用非檢查異常(unchecked exceptions)和濫用catchall構(gòu)造器等。這兩種方式都使得問題變得復(fù)雜起來。 
有一種類別的異常屬于RuntimeException的子類,這種異常不會受到編譯器的檢查。比如,NullPointerException和 ArrayStoreException就是這種類型異常的實例。程序員可以對RuntimeException進行子類化以回避檢查異常的限制,從而便于產(chǎn)生這些異常的方法為其調(diào)用者所使用。專業(yè)的開發(fā)團隊?wèi)?yīng)當(dāng)只允許在很少的情況下才可以這樣做。第2種異常處理的陋習(xí)是catchall構(gòu)造器。所謂的“catchall 構(gòu)造器”就是一種異常捕獲代碼模塊,它可以處理所有扔給它的可能異常。 
以下是catchall處理器的實例: 
try 
 { 
 // code here with checked exceptions 
 } catch (Throwable t)  
 { 
 t.printStackTrace(); 
 } 
我得承認,我自己在編寫一般程序的時候就曾經(jīng)用過這種技術(shù);但是,在編寫關(guān)鍵程序的時候這種類型的構(gòu)造器一定要避免使用,除非他們被授權(quán)可以和中央錯誤處理器聯(lián)合使用才可以這樣做。除此之外,catchall構(gòu)造器不過只是一種通過避免錯誤處理而加快編程進度的機制。 
異常處理的一個不足之處是難以采用優(yōu)良的錯誤處理策略。從低容內(nèi)存狀態(tài)恢復(fù)、寫入錯誤和算法錯誤等異常情況都不是輕易能得到解決的。你可以嘗試一下循環(huán)、垃圾收集和提醒用戶等常用技術(shù)來應(yīng)付以上的局面。 
惡劣 
和許多Java特性及其API類似,Java的異常處理機制也有“霸王硬上弓”類的滑稽錯誤。比方說,為了扔出某個異常竟然毫不猶豫地用“new”關(guān)鍵詞為其分配內(nèi)存就是這樣的例子。我自己不知道有多少次就因為犯了這種錯誤而在嚴肅的編譯器面前屢屢碰壁。在這種情況下,我們其實都是在伺候語言而不是讓語言為我們所用。 
在我編寫的Java Pitfalls一書中探討了幾個異常處理方面的缺陷,比如處理OutOfMemoryErrors就是其一。這一處理過程是:使用finally模塊關(guān)閉文件,解析異常以得到出現(xiàn)問題的方法和代碼行。在這一過程之內(nèi)最大的缺陷是需要捕獲OutOfMemoryError,而這一異常卻并不是可檢查異常!想想看,內(nèi)存耗盡是相當(dāng)常見的情況。任何與內(nèi)存使用狀態(tài)緊密相關(guān)的程序都應(yīng)當(dāng)捕獲和處理這一錯誤。 
最后,讓我們考慮兩個尚不屬于Java異常處理機制的特性。第一,目前的情況是,在你成功地處理了異常之后你沒有辦法回到你剛才離開的地方。而C語言下的setjmp() 和longjmp()函數(shù)則可以實現(xiàn)這一特性,Java理應(yīng)有這兩個函數(shù)的對應(yīng)版本,而我們也應(yīng)該可以用“resume”關(guān)鍵詞實現(xiàn)它。 
第二個沒有實現(xiàn)的特性是全局異常處理器,對比物就是C++語言中的set_new_handler()。比方說,在編程的時候,即便OutOfMemoryError異常比java.lang.Error 的子類更常見,但我們也可以針對OutOfMemoryError異常而采用全局處理器,這樣的效果會比對其采用通常的可檢查異常要好得多。如果你覺得對這些特性非常在意,那么你可以在Java Developer Connection那里提出自己的建議:在Java平臺內(nèi)增加這些特性吧!

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91视频国产资源| 欧美不卡一区二区三区| 免费欧美在线视频| 国产精品伦一区二区三级视频| 欧美日韩中文精品| 成人精品高清在线| 蜜桃av一区二区在线观看| 中文字幕在线观看不卡| 欧美zozo另类异族| 91精品国产色综合久久不卡蜜臀| 99精品视频在线播放观看| 精品一区二区久久久| 首页亚洲欧美制服丝腿| 亚洲欧美怡红院| 久久久亚洲欧洲日产国码αv| 欧美日韩不卡一区| 在线影院国内精品| 99久久精品国产精品久久| 国产毛片精品视频| 美女诱惑一区二区| 亚洲成人tv网| 亚洲自拍偷拍网站| 亚洲少妇最新在线视频| 亚洲国产激情av| 国产欧美日韩视频一区二区 | 欧美日韩国产精选| 日本高清不卡视频| 色一情一伦一子一伦一区| 国产成人av一区| 国产精品一级黄| 国产在线播放一区| 狠狠狠色丁香婷婷综合久久五月| 天天综合色天天| 午夜精品久久久久久久99水蜜桃 | 极品少妇一区二区| 全部av―极品视觉盛宴亚洲| 亚洲成人av福利| 亚洲第一二三四区| 日韩中文字幕亚洲一区二区va在线 | 欧美96一区二区免费视频| 偷拍亚洲欧洲综合| 日韩和的一区二区| 久久精品免费看| 国产一区在线精品| 国产夫妻精品视频| 豆国产96在线|亚洲| 丁香亚洲综合激情啪啪综合| 不卡电影一区二区三区| 91日韩一区二区三区| 欧洲一区二区av| 欧美剧在线免费观看网站| 91精品国产美女浴室洗澡无遮挡| 91精品国产麻豆国产自产在线| 日韩一区二区在线看| 久久一区二区视频| 日本一区二区三区四区| 1000部国产精品成人观看| 一区二区三区在线视频观看58| 亚洲一区二区三区不卡国产欧美| 亚洲一区二区精品视频| 三级久久三级久久| 国产一区二区三区免费看| www.亚洲在线| 欧美精品一级二级三级| 久久午夜老司机| 国产精品―色哟哟| 亚洲成人高清在线| 国产一区二区女| 色综合一个色综合| 欧美一区二区免费观在线| 亚洲精品一区二区三区精华液 | 中文字幕av一区二区三区 | 国产中文字幕精品| a4yy欧美一区二区三区| 欧美日韩国产不卡| 国产欧美日韩麻豆91| 亚洲一区二区三区在线看| 精品一区二区免费视频| 99精品国产91久久久久久| 51精品秘密在线观看| 国产欧美日韩精品在线| 亚洲成人黄色影院| 国产91精品一区二区麻豆网站| 欧美亚洲自拍偷拍| 国产视频一区二区三区在线观看| 夜夜嗨av一区二区三区四季av| 麻豆91在线播放免费| 91精彩视频在线观看| 久久日韩精品一区二区五区| 一区二区免费看| 国产一区二区三区日韩| 欧美日韩国产小视频在线观看| 久久久一区二区| 亚洲大片免费看| 成人黄色小视频在线观看| 日韩写真欧美这视频| 一区二区三区91| 成人综合婷婷国产精品久久蜜臀| 91精品午夜视频| 亚洲裸体在线观看| 国产乱子伦视频一区二区三区| 欧美色图天堂网| 国产精品久线在线观看| 黑人巨大精品欧美一区| 欧美夫妻性生活| 亚洲一二三四在线观看| 成人国产一区二区三区精品| www久久久久| 蜜桃久久久久久| 欧美久久免费观看| 一区二区三区视频在线看| 丁香一区二区三区| 国产亚洲婷婷免费| 久久66热偷产精品| 日韩欧美国产综合在线一区二区三区| 亚洲一区二区中文在线| 91亚洲国产成人精品一区二区三| 国产拍欧美日韩视频二区 | 欧美日韩一级视频| 亚洲欧美另类在线| av动漫一区二区| 国产精品国产三级国产aⅴ中文| 国产精品一区二区在线观看网站| 欧美一区二区三区思思人| 亚洲不卡在线观看| 欧美午夜一区二区| 亚洲一级在线观看| 欧美性受xxxx黑人xyx性爽| 亚洲视频电影在线| 色综合久久综合网| 亚洲精品国产高清久久伦理二区| 99视频国产精品| 成人免费小视频| 色哟哟一区二区在线观看| 亚洲毛片av在线| 欧美中文一区二区三区| 一区二区理论电影在线观看| 欧美吞精做爰啪啪高潮| 亚洲国产成人av| 欧美日韩一区二区三区在线看| 亚洲国产成人porn| 欧美一区二区视频在线观看2020| 日韩电影免费在线| 欧美xfplay| 国产福利视频一区二区三区| 国产精品色哟哟| 91黄色免费看| 日本伊人精品一区二区三区观看方式| 欧美乱熟臀69xxxxxx| 精品一区二区三区蜜桃| 国产午夜精品久久久久久久| 成人av第一页| 亚洲小说春色综合另类电影| 欧美高清hd18日本| 黄页视频在线91| 国产精品免费网站在线观看| 色综合久久中文字幕| 无码av中文一区二区三区桃花岛| 欧美一级免费大片| 国产不卡高清在线观看视频| 亚洲欧美另类久久久精品| 精品视频一区 二区 三区| 麻豆精品一二三| 国产精品免费视频网站| 欧美日韩成人综合天天影院| 精品亚洲porn| 悠悠色在线精品| 欧美zozo另类异族| 91香蕉视频污| 免费看欧美美女黄的网站| 欧美国产精品一区二区三区| 色av一区二区| 欧美96一区二区免费视频| 国产精品传媒入口麻豆| 欧美日本视频在线| 粉嫩aⅴ一区二区三区四区五区 | 成人性生交大片免费看中文| 伊人婷婷欧美激情| 日韩欧美一级二级三级 | 久久丝袜美腿综合| 欧美曰成人黄网| 国产精品一品二品| 性做久久久久久免费观看 | 2024国产精品| 色噜噜狠狠成人中文综合 | 欧美日韩国产大片| 大美女一区二区三区| 日本色综合中文字幕| 亚洲同性gay激情无套| 欧美成人猛片aaaaaaa| 一本一本大道香蕉久在线精品 | 色老头久久综合| 国产精品亚洲а∨天堂免在线| 亚洲精品你懂的| 国产视频一区二区在线观看| 在线不卡a资源高清| 91免费视频观看| 国产精品一区二区男女羞羞无遮挡| 天天影视网天天综合色在线播放 | 一个色综合av|