要處理什麼異常:
1,基礎異常(引數異常),輸入為空,格式不正確。
2,業務異常,未實現效果,丟擲異常給予提示。如:上傳影像庫,未正確返回影像id;
//上傳至影像庫,得到影像id
string imageid =pdfpy.pdf(pyszcisreportroot, pyquerybean.getumname());
if(stringutils.isempty(imageid))
3,服務異常,呼叫別人介面,服務超時,服務不可用(未能正常返回介面返回document)
4,不知道的什麼異常。除了以上異常外,給別人提供介面,不知道**就異常了。
怎麼處理:
當然是service業務邏輯處理時往外拋,在controller中捕獲。
contrller**:
把以上提到的四種異常分2類處理
先捕獲123業務異常,再捕獲未知異常。
/*** 反欺詐**
@return
com.pingan.credit.model.responseresult* @description: 鵬元徵信 反欺詐介面
一,應用場景
1,請求引數驗證
**:
/*** @description: 查詢引數校驗
* @author
chiyuanzhen743
* @date 2017/8/24 14:15
*/private
void isquerybeanparametersillegal(pyquerybean pyquerybean) throws
exception
if (!validatorutil.isphonelegal(pyquerybean.getphone()))
if (!validatorutil.validatecard(pyquerybean.getdocumentno()))
if (!validatorutil.ischinesenamelegal(pyquerybean.getname()))
if(stringutils.isempty(pyquerybean.gettimestamp()))
if(stringutils.isempty(pyquerybean.getumname()))
if (pyquerybean.getquerytype() == null || pyquerybean.getquerytype() == 0)
if(stringutils.isempty(pyquerybean.getqueryreasoncode()))
if(stringutils.isempty(pyquerybean.getqueryway()))
if (pyquerybean.getqueryreason() == null ||stringutils.isempty(pyquerybean.getqueryreason()))
}
2,具體業務處理失敗
二,定義異常處理類
**:
publicclass creditexception extends
runtimeexception
/*** 構造乙個基本異常.**
@param
errorcode 錯誤編碼
* @param
message 資訊描述
*/public
creditexception(string errorcode, string message)
/*** 構造乙個基本異常.**
@param
errorcode 錯誤編碼
* @param
message 資訊描述
*/public
creditexception(string errorcode, string message, throwable cause)
/*** 構造乙個基本異常.**
@param
errorcode 錯誤編碼
* @param
message 資訊描述
* @param
propertieskey 訊息是否為屬性檔案中的key
*/public creditexception(string errorcode, string message, boolean
propertieskey)
/*** 構造乙個基本異常.**
@param
errorcode 錯誤編碼
* @param
message 資訊描述
*/public creditexception(string errorcode, string message, throwable cause, boolean
propertieskey)
/*** 構造乙個基本異常.**
@param
message 資訊描述
* @param
cause 根異常類(可以存入任何異常)
*/public
creditexception(string message, throwable cause)
public
string geterrorcode()
public
void
seterrorcode(string errorcode)
public
boolean
ispropertieskey()
public
void setpropertieskey(boolean
propertieskey)
}
三,定義異常種類-列舉類
**:
publicenum
pycreditserviceerrorenum
public
string getcode()
public
void
setcode(string code)
public
string getmsg()
public
void
setmsg(string msg)
}
異常處理 自定義異常
異常 1.定義 執行時檢測到的錯誤。2.現象 當異常發生時,程式不會再向下執行,而轉到函式的呼叫語句。3.常見異常型別 名稱異常 nameerror 變數未定義。型別異常 typeerror 不同型別資料進行運算。索引異常 indexerror 超出索引範圍。屬性異常 attributeerror ...
自定義異常處理
自定義異常處理類 using system using system.diagnostics 日誌記錄類 using system using system.configuration using system.diagnostics using system.io using system.tex...
自定義異常處理
煙台大學計算機學院學生 all right reserved.檔名稱 c 完成日期 2014年10月16日 版本號 v1.0 對任務及求解方法的描述部分 輸入兩個數,輸出其相除的結果,並進行增加乙個自定義異常類outofboundexception,我的程式 using system using s...