比如在dao層類中寫了一個可能會執(zhí)行失敗的方法:\x0d\x0a捕獲異常的代碼如下: \x0d\x0apublic Map remove(int id) { \x0d\x0a Map map = new HashMap(); \x0d\x0a try { \x0d\x0a userGroupDao.remove(id); \x0d\x0a map.put("isSuccess", true); \x0d\x0a } catch (Exception e) { \x0d\x0a map.put("isSuccess", false); \x0d\x0a map.put("errorMsg", e.getMessage()); \x0d\x0a } \x0d\x0a return map; \x0d\x0a}
成都創(chuàng)新互聯(lián)公司主營五寨網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,App定制開發(fā),五寨h5小程序定制開發(fā)搭建,五寨網(wǎng)站營銷推廣歡迎五寨等地區(qū)企業(yè)咨詢
try{
//代碼
代碼中通常會出現(xiàn)不知情卻在情理中的錯誤
int
age
=
a.getAge();//如果a對象為空,你卻調(diào)用它的方法就會報NullPointerException異常
}catch(//異常類型
NullPointerException
ne){//獲取你可以預(yù)知的異常
//異常處理就是你捕獲了這個異常你要這個異常進(jìn)行哪種操作
//一般的操作就是記錄到日志里
//然后拋出去或者返回狀態(tài)
}catch(Exception
ex){//這個是所有異常的父類
//因為很多異常是不可預(yù)知的
//記錄到日志里
//然后拋出去或者返回狀態(tài)
}
首先自定義一個異常類
public class ActionException extends Exception{
public String returnMessage;
public ActionException(String returnMessage){
this.returnMessage = returnMessage;
}
public String getReturnMessage(){
return this.returnMessage;
}
代碼中如果用到這個自定義的異常類,這里的代碼只是做了個演示
private void validate(int a,int b)throws ActionException{
if(ab){
throw new ActionException("a b");
}
if(ab){
throw new ActionException("a b");
}
}
業(yè)務(wù)邏輯代碼中
public String process(){
try{
validate(a,b);
}catch(ActionException ae){
System.out.println(ae.getReturnMessage());
}
}