青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

woaidongmao

文章均收錄自他人博客,但不喜標題前加-[轉貼],因其丑陋,見諒!~
隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
數據加載中……

Java應用程序常見異常類解析

  在應用程序開發中,由于各種各樣的限制,會難以避免的出現一些異常情況。如超出了程序開發人員可以控制的范圍,或者由于技術、經驗的限制有些情況程序開發人員沒有預料到。如用戶試圖打開一個不存在的文件、或者往沒有權限的操作系統目錄中保存文件等等。這些以外情況可以統稱為異常。

  異常跟普通的警告等有一定的區別。當應用程序發生異常時,會中斷正在執行的程序的正常指令流。也就是說,發生異常后面的代碼將得不到正確的執行。甚至還會觸發數據庫的回退操作。

  在Java開發平臺中,異常包括預定義異常與自定義異常。這兩種異常的類型互為補充。作為一個合格的程序開發人員,要善于在應用程序中使用異常。這可以提高應用程序的交互性。同時,也是保證應用程序正常運行的前提。故異常的處理對于開發一個優秀的應用程序來說非常的重要。為此筆者認為程序開發人員應該對Java應用程序的常見異常有一個深入的了解。只有在了解這些常見異常的情況下,才能夠做好自定義異常的處理。

  一、常見異常的類型與原因。

  對于Java應用程序的常見異常,筆者認為程序開發人員要從兩個方面去了解。一是要知道有哪些常見的Java應用程序異常,二是需要知道哪些原因可能會造成這個異常。這不僅需要程序管理人員在日常工作中要注意積累,在必要的情況下還需要去從其它渠道收集資料。筆者對此就進行一個分析,希望能夠對各位程序開發人員有一定的幫助。

  1 SQLException:操作數據庫異常類。

  現在的Java應用程序大部分都是依賴于數據庫運行的。當Java應用程序與數據庫進行溝通時如果產生了錯誤,就會觸發這個類。同時會將數據庫的錯誤信息通過這個類顯示給用戶。也就是說,這個操作數據庫異常類是數據庫與用戶之間異常信息傳遞的橋梁。如現在用戶往系統中插入數據,而在數據庫中規定某個字段必須唯一。當用戶插入數據的時候,如果這個字段的值跟現有的紀錄重復了,違反了數據庫的唯一性約束,此時數據庫就會跑出一個異常信息。這個信息一般用戶可能看不到,因為其發生在數據庫層面的。此時這個操作數據庫異常類就會捕捉到數據庫的這個異常信息,并將這個異常信息傳遞到前臺。如此的話,前臺用戶就可以根據這個異常信息來分析發生錯誤的原因。這就是這個操作數據庫異常類的主要用途。在Java應用程序中,所有數據庫操作發生異常時,都會觸發這一個類。所有此時Java應用程序本身的提示信息往往過于籠統,只是說與數據庫交互出現錯誤,沒有多大的參考價值。此時反而是數據庫的提示信息更加有使用價值。

  2 ClassCastException:數據類型轉換異常。

  在Java應用程序中,有時候需要對數據類型進行轉換。這個轉換包括顯示的轉換與隱式的轉換。不過無論怎么轉換,都必須要符合一個前提的條件,即數據類型的兼容性。如果在數據轉換的過程中,違反了這個原則,那么就會觸發數據類型轉換異常。如現在在應用程序中,開發人員需要將一個字符型的日期數據轉換為數據庫所能夠接受的日期型數據,此時只需要在前臺應用程序中進行控制,一般不會有問題。但是,如果前臺應用程序缺乏相關的控制,如用戶在輸入日期的時候只輸入月、日信息,而沒有年份的信息。此時應用程序在進行數據類型轉換的時候,就會出現異常。根據筆者的經驗,數據類型轉換異常在應用程序開發中使一個出現的比較多的異常,也是一個比較低級的異常。因為大部分情況下,都可以在應用程序窗口中對數據類型進行一些強制的控制。即在數據類型進行轉換之前,就保證數據類型的兼容性。如此的話,就不容易造成數據類型的轉換異常。如在只允許數值類型的字段中,可以設置不允許用戶輸入數值以外的字符。雖然說有了異常處理機制,可以保證應用程序不會被錯誤的運行。但是在實際開發中,還是要盡可能多的預見錯誤發生的原因,盡量避免異常的發生。

  3 NumberFormatException:字符串轉換為數字類型時拋出的異常。

  在數據類型轉換過程中,如果是字符型轉換為數字型過程中出現的問題,對于這個異常在Java程序中采用了一個獨立的異常,即NumberFormatException。如現在講字符型的數據“123456”轉換為數值型數據時,是允許的。但是如果字符型數據中包含了非數字型的字符,如123#56,此時轉換為數值型時就會出現異常。系統就會捕捉到這個異常,并進行處理。

  Java應用程序中常見的異常類還有很多。如未找到相應類異常、不允許訪問某些類異常、文件已經結束異常、文件未找到異常、字段未找到異常等等。一般系統開發人員都可以根據這個異常名來判斷當前異常的類型。雖然不錯,但是好記性不如爛筆頭。程序開發人員在必要的時候(特別是存在自定義異常的時候),最后手頭有一份異常明細表。如此的話,無論是應用程序在調試過程中發現問題,還是運行過程中接到用戶的投訴,都可以及時的根據異常名字來找到異常發生的原因。從而可以在最短時間內解決異常,恢復應用程序的正常運行。這個措施筆者用了很多年,非常的有效。

  二、異常管理的實用建議。

  對于操作數據庫異常來說,Java應用程序只提供了一個異常類。故光憑Java應用程序的錯誤信息,往往不能夠幫助應用程序人員排除錯誤的原因。只能夠指名是應用程序錯誤還是數據庫錯誤導致的這個異常。為了更進一步指明問題的原因,在數據庫層面定義異常的時候,最好能夠說明具體的原因。如前臺應用程序可能會調用數據庫的函數或者過程。此時在數據庫的函數或者過程中做好能夠說明某個異常的具體原因。如根據某個基礎表生成另一張表的時候,某個字段不能夠為空等等。將這些異常信息說明清楚后,如果真的遇到類似的異常時,操作數據庫異常類就會將數據庫的異常信息反會給前臺用戶。從而有利于用戶尋找問題的原因,并在最短時間內改正。當然,這需要Java程序員與數據庫設計人員進行協調。

  其次需要注意的是,異常并不是常態。也就是說,大部分異常可以通過前提的合理預見與預防,來消除。如設計到四則運算,可以在前臺應用程序窗口中限制在除數字段內輸入0值等手段來消除應用程序運行中可能產生的異常。不過這往往要求應用程序開發人員有比較豐富的工作經驗以及由比較嚴密的思維邏輯。雖然這有一定的難度,但是筆者認為程序開發人員還是應該往這方面努力,而不要老是讓用戶作為你的試驗品,讓用戶來發現應用程序中的設計Bug。筆者認為,只有一些實在是程序人員無法控制的因素才允許拋出異常。如果應用程序開發人員能夠意識到這種錯誤、但是仍然沒有引起重視或者采取有效的措施防止出現這種異常,那么筆者是不允許的。

 

posted on 2009-08-05 17:09 肥仔 閱讀(153) 評論(0)  編輯 收藏 引用 所屬分類: Web-后臺

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美aⅴ99久久黑人专区| 性欧美xxxx视频在线观看| 亚洲东热激情| 亚洲影院一区| 欧美另类专区| 亚洲精品久久久久久下一站| 免费欧美在线视频| 久久国产婷婷国产香蕉| 国产欧美日韩在线| 欧美一区二区久久久| 亚洲一品av免费观看| 亚洲黄色在线视频| 欧美激情在线播放| 99伊人成综合| 日韩视频―中文字幕| 欧美午夜性色大片在线观看| 一区二区三区毛片| 亚洲人久久久| 欧美日韩一区二区三区高清| 亚洲网站在线观看| 亚洲宅男天堂在线观看无病毒| 国产精品国产三级欧美二区| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 亚洲欧美一区二区激情| 国产欧美69| 久久久亚洲一区| 久久久国产一区二区| 亚洲国产成人午夜在线一区| 亚洲国产精品ⅴa在线观看| 欧美噜噜久久久xxx| 亚洲性夜色噜噜噜7777| 亚洲欧美日韩综合国产aⅴ| 国产亚洲免费的视频看| 欧美va天堂在线| 欧美久久在线| 亚洲欧美中文日韩v在线观看| 午夜视频一区在线观看| 永久免费精品影视网站| 亚洲精品在线免费| 国产麻豆日韩欧美久久| 欧美二区在线观看| 国产精品久久久久国产精品日日| 久久精品天堂| 欧美精品午夜| 久久精品五月| 欧美日本中文字幕| 久久久青草青青国产亚洲免观| 欧美大片专区| 欧美中文在线观看国产| 欧美肥婆bbw| 久久精品国产一区二区三| 欧美成人一区在线| 久久久久久久999精品视频| 欧美国产日韩一区二区三区| 久久国产精品一区二区三区| 欧美激情国产日韩| 久久精品二区| 欧美视频在线一区| 欧美波霸影院| 国产亚洲精品福利| 一本色道久久99精品综合| 伊人久久久大香线蕉综合直播| 中文一区在线| 夜夜爽av福利精品导航| 久久久噜噜噜久久中文字幕色伊伊| 中日韩高清电影网| 欧美超级免费视 在线| 久久久久这里只有精品| 国产精品成人一区二区三区吃奶| 免费欧美日韩| 尹人成人综合网| 午夜精品一区二区三区四区| 国产精品外国| 亚洲精品欧美一区二区三区| 在线观看视频日韩| 久久精品视频va| 香蕉久久夜色精品国产| 欧美日韩中文字幕在线视频| 亚洲国产三级网| 亚洲日本欧美天堂| 久久阴道视频| 欧美成人一区二区三区在线观看 | 欧美激情黄色片| 欧美成人资源网| 在线免费日韩片| 久久精品视频网| 久久亚洲精品网站| 国产一区深夜福利| 欧美一二区视频| 久久精品亚洲乱码伦伦中文| 国产欧美一区视频| 香蕉免费一区二区三区在线观看| 亚洲女同同性videoxma| 国产精品视频最多的网站| 亚洲一区在线直播| 欧美一区午夜视频在线观看| 国产欧美va欧美不卡在线| 欧美一区二区三区播放老司机| 久久精品一区| 亚洲电影天堂av| 欧美激情1区2区| 亚洲精品视频啊美女在线直播| 中国女人久久久| 国产精品一区二区a| 久久福利资源站| 欧美gay视频激情| 亚洲精品一区中文| 欧美日韩一二区| 午夜一级在线看亚洲| 久久久久在线| 亚洲理论在线| 国产精品日日摸夜夜摸av| 欧美一区2区视频在线观看| 久久综合亚洲社区| 99re66热这里只有精品4| 国产精品国产a| 久久精品成人| 亚洲精品视频在线播放| 欧美一区国产一区| 亚洲国产色一区| 国产精品久久999| 久久久久久久97| 亚洲日本成人| 久久国产精品第一页| 亚洲国产高清高潮精品美女| 欧美日精品一区视频| 久久成人久久爱| 亚洲欧洲一区二区三区久久| 欧美一区二区女人| 亚洲国产精品第一区二区| 欧美系列电影免费观看| 久久久久久夜| 亚洲网站啪啪| 亚洲国产裸拍裸体视频在线观看乱了中文 | 亚洲伊人网站| 牛牛国产精品| 午夜精品久久久久久99热| 在线看日韩av| 国产精品一区二区三区四区五区 | 欧美日韩视频在线一区二区 | 国产亚洲欧美日韩美女| 欧美成在线视频| 欧美亚洲视频在线观看| 亚洲欧洲日韩在线| 噜噜噜噜噜久久久久久91| 亚洲专区欧美专区| 最新国产成人av网站网址麻豆| 国产欧美一区二区精品性色| 欧美日韩 国产精品| 久久精品国产亚洲一区二区| 在线视频免费在线观看一区二区| 欧美激情片在线观看| 久久久欧美一区二区| 亚洲欧美日韩在线一区| 亚洲伦伦在线| 亚洲国产一区二区三区高清| 国产一区二区av| 国产毛片一区二区| 国产精品久久久久毛片软件| 欧美日韩一区二区在线观看视频 | 99pao成人国产永久免费视频| 极品尤物久久久av免费看| 国产精品免费看| 国产精品久久久久久久电影 | 欧美高清视频在线观看| 久久午夜精品一区二区| 欧美在线视频a| 午夜精品视频在线观看一区二区 | 国产亚洲一区二区三区在线观看| 国产精品v欧美精品∨日韩| 欧美激情精品久久久六区热门| 久久天天躁狠狠躁夜夜av| 欧美诱惑福利视频| 性欧美办公室18xxxxhd| 欧美一区二区三区免费视频| 亚洲欧美国产日韩中文字幕| 亚洲综合色网站| 欧美亚洲三区| 久久成人在线| 久久嫩草精品久久久精品一| 久久久91精品国产一区二区精品| 久久av一区二区三区漫画| 亚洲欧美日本国产专区一区| 亚洲一区二区三区免费视频| 亚洲一区二区免费在线| 亚洲在线观看视频| 欧美一级艳片视频免费观看| 欧美在线亚洲在线| 久久综合激情| 女女同性精品视频| 欧美日韩福利| 国产精品久久久久久av下载红粉 | 久久久国产成人精品| 久久亚洲综合| 欧美韩日一区二区| av成人手机在线| 欧美夜福利tv在线| 亚洲日本电影在线| 亚洲一区二区三区免费视频| 欧美在线观看视频在线|