Skip to content

Commit f84c6de

Browse files
committed
解决无数据对应 NotExistException 会对外返回异常而不是空值
1 parent c76dccd commit f84c6de

File tree

2 files changed

+27
-26
lines changed

2 files changed

+27
-26
lines changed

APIJSONORM/src/main/java/apijson/orm/AbstractObjectParser.java

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -692,9 +692,11 @@ public AbstractObjectParser setSQLConfig(int count, int page, int position) thro
692692
try {
693693
sqlConfig = newSQLConfig(false);
694694
}
695-
catch (NotExistException e) {
696-
e.printStackTrace();
697-
return this;
695+
catch (Exception e) {
696+
if (e instanceof NotExistException || (e instanceof CommonException && e.getCause() instanceof NotExistException)) {
697+
return this;
698+
}
699+
throw e;
698700
}
699701
}
700702
sqlConfig.setCount(sqlConfig.getCount() <= 0 ? count : sqlConfig.getCount()).setPage(page).setPosition(position);
@@ -722,18 +724,23 @@ public AbstractObjectParser executeSQL() throws Exception {
722724
try {
723725
sqlReponse = onSQLExecute();
724726
}
725-
catch (NotExistException e) {
726-
// Log.e(TAG, "getObject try { response = getSQLObject(config2); } catch (Exception e) {");
727-
// if (e instanceof NotExistException) {//非严重异常,有时候只是数据不存在
728-
// // e.printStackTrace();
729-
sqlReponse = null;//内部吃掉异常,put到最外层
730-
// requestObject.put(JSONResponse.KEY_MSG
731-
// , StringUtil.getString(requestObject.get(JSONResponse.KEY_MSG)
732-
// + "; query " + path + " cath NotExistException:"
733-
// + newErrorResult(e).getString(JSONResponse.KEY_MSG)));
734-
// } else {
735-
// throw e;
736-
// }
727+
catch (Exception e) {
728+
if (e instanceof NotExistException || (e instanceof CommonException && e.getCause() instanceof NotExistException)) {
729+
// Log.e(TAG, "getObject try { response = getSQLObject(config2); } catch (Exception e) {");
730+
// if (e instanceof NotExistException) {//非严重异常,有时候只是数据不存在
731+
// // e.printStackTrace();
732+
sqlReponse = null;//内部吃掉异常,put到最外层
733+
// requestObject.put(JSONResponse.KEY_MSG
734+
// , StringUtil.getString(requestObject.get(JSONResponse.KEY_MSG)
735+
// + "; query " + path + " cath NotExistException:"
736+
// + newErrorResult(e).getString(JSONResponse.KEY_MSG)));
737+
// } else {
738+
// throw e;
739+
// }
740+
}
741+
else {
742+
throw e;
743+
}
737744
}
738745
}
739746

APIJSONORM/src/main/java/apijson/orm/AbstractParser.java

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55

66
package apijson.orm;
77

8-
import static apijson.JSONObject.KEY_EXPLAIN;
9-
import static apijson.RequestMethod.GET;
8+
import com.alibaba.fastjson.JSONArray;
9+
import com.alibaba.fastjson.JSONObject;
1010

1111
import java.io.UnsupportedEncodingException;
1212
import java.lang.management.ManagementFactory;
@@ -24,29 +24,23 @@
2424
import java.util.Set;
2525
import java.util.SortedMap;
2626
import java.util.TreeMap;
27-
import java.util.concurrent.TimeoutException;
2827

2928
import javax.activation.UnsupportedDataTypeException;
3029
import javax.management.MBeanServer;
3130
import javax.management.ObjectName;
3231
import javax.management.Query;
3332

34-
import com.alibaba.fastjson.JSONArray;
35-
import com.alibaba.fastjson.JSONObject;
36-
3733
import apijson.JSON;
3834
import apijson.JSONRequest;
3935
import apijson.JSONResponse;
4036
import apijson.Log;
4137
import apijson.NotNull;
4238
import apijson.RequestMethod;
4339
import apijson.StringUtil;
44-
import apijson.orm.exception.ConditionErrorException;
45-
import apijson.orm.exception.ConflictException;
4640
import apijson.orm.exception.CommonException;
47-
import apijson.orm.exception.NotExistException;
48-
import apijson.orm.exception.NotLoggedInException;
49-
import apijson.orm.exception.OutOfRangeException;
41+
42+
import static apijson.JSONObject.KEY_EXPLAIN;
43+
import static apijson.RequestMethod.GET;
5044

5145
/**parser for parsing request to JSONObject
5246
* @author Lemon

0 commit comments

Comments
 (0)