高手為你解讀J2EE開發(fā)過程中的異常處理_JSP教程
推薦:EJB初學(xué)者怎樣面對經(jīng)常有的十一個疑惑 1、EJB2.0有哪些內(nèi)容?分別用在什么場合? EJB2.0和EJB1.1的區(qū)別? 模板無憂 答:規(guī)范內(nèi)容包括Bean提供者,應(yīng)用程序裝配者,EJB容器,EJB配置工具,EJB服務(wù)提供者,系統(tǒng)管理員
在java里有3種異常類型:
1. 檢查型異常,這樣的異常繼承于Excetpion,就是在編譯期間需要檢查,如果該異常被throw,那么在該異常所在的method后必須顯示的throws,調(diào)用該method的地方也必須捕獲該異常,否則編譯器會拋出異常.ejb里的RemoteException是一個這樣的異常.
2. 運行時異常,就是在運行期間系統(tǒng)出現(xiàn)的異常,該類異常繼承于RuntimeException,該類異常在編譯時系統(tǒng)不進行檢查,如NullPointerExcetpion,NumberFormatException.
3. 系統(tǒng)錯誤,一般是JVM出現(xiàn)異常時拋出的異常,如OutofMemory,這樣的異常在J2EE開發(fā)中是不用關(guān)心的.
在J2EE開發(fā)中,檢查型異常被濫用以至于過一段時間程序員自己都看不懂拋出這樣的異常,.里面封裝的這些錯誤信息是干什么用的,更可怕的是有好多有用的信息找不到了.比如SQLException和RemoteException這樣的異常我們沒必要再進行封裝,這樣的異常只對我們調(diào)試程序有用,而對客戶來說它就是一個”系統(tǒng)錯誤”而已.異常處理有一個簡單的原則,你什么時候需要封裝自己的檢查型異常?就是你很清楚自己拋出這個異常的用途時,比如用戶輸入用戶名和密碼要登錄,但用戶名和密碼不匹配,你就要定義一個檢查型異常,客戶端通過捕獲該異常,然后把相應(yīng)的錯誤信息反饋給客戶.而其它的自己未預(yù)期的錯誤或者異常比如SQLException,只需封裝到EJBException中,ejb container會把它的信息追加到RemoteException里,這樣客戶端捕獲RemoteException后把它寫到系統(tǒng)日志里,就很容易進行調(diào)試.
關(guān)于錯誤代碼,一般反饋給客戶的錯誤代碼有兩種類型:
1. 應(yīng)用程序級錯誤,這些錯誤是由客戶自身的原因引起的,比如輸入信息有誤,沒有操作該功能的權(quán)限.對于這樣情況,系統(tǒng)應(yīng)給用戶一個明確的提示.
2. 系統(tǒng)級異常,比如”未連接到服務(wù)器”,”服務(wù)器忙”,”未連接到數(shù)據(jù)庫”,”系統(tǒng)錯誤”,這樣的錯誤給客戶帶來的后果是不能進行操作,那么下面的戲該由系統(tǒng)管理員和系統(tǒng)開發(fā)者去演了.
分享:JSP實例程序統(tǒng)計當(dāng)前在線人數(shù)/**這是管理user信息的類 文件名為onLineUser.java */ import javax.servlet.http.*; import javax.servlet.*; import java.util.*; public class onLineUser implements Htt
- jsp response.sendRedirect不跳轉(zhuǎn)的原因分析及解決
- JSP指令元素(page指令/include指令/taglib指令)復(fù)習(xí)整理
- JSP腳本元素和注釋復(fù)習(xí)總結(jié)示例
- JSP FusionCharts Free顯示圖表 具體實現(xiàn)
- 網(wǎng)頁模板:關(guān)于jsp頁面使用jstl的異常分析
- JSP頁面中文傳遞參數(shù)使用escape編碼
- 基于jsp:included的使用與jsp:param亂碼的解決方法
- Java Web項目中連接Access數(shù)據(jù)庫的配置方法
- JDBC連接Access數(shù)據(jù)庫的幾種方式介紹
- 網(wǎng)站圖片路徑的問題:絕對路徑/虛擬路徑
- (jsp/html)網(wǎng)頁上嵌入播放器(常用播放器代碼整理)
- jsp下顯示中文文件名及絕對路徑下的圖片解決方法
- 相關(guān)鏈接:
- 教程說明:
JSP教程-高手為你解讀J2EE開發(fā)過程中的異常處理
。