自定義業務異常處理

2022-07-13 11:36:15 字數 3488 閱讀 4315

要處理什麼異常:

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,具體業務處理失敗

二,定義異常處理類

**:

public

class 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)

}

三,定義異常種類-列舉類

**:

public

enum

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...