1
xujif 2015-11-15 23:34:22 +08:00 via iPhone
2 是最常规的方法,怎么是傻了?
|
2
inmyfree 2015-11-15 23:51:48 +08:00
我这边都是第二种的,服务器会有一个错误编码表, app 使用一个常量类,结合接口判断使用就是了
|
3
br00k 2015-11-16 01:33:03 +08:00 via Android
2
|
4
raysmond 2015-11-16 01:50:36 +08:00 via iPhone
我也觉得是 2 ,抛异常很普遍的方案。很多成熟的项目都是这么干的
|
5
odirus OP @xujif 不好意思,第二种方案是很早之前,我刚入门的时候自己想出来的,当时真没什么经验,然后就造了个轮子,只是看到书上说异常的消耗会非常大,所以有这种感觉。谢谢哈。
|
7
Bryan0Z 2015-11-16 10:02:31 +08:00 via Android
看到你说第二种很傻的时候突然很惶恐,然后看到其他人的回复我放心了
|
9
buliugu 2015-11-16 13:20:23 +08:00
直接抛不要虚,抛得越早越好
|
11
zonghua 2015-11-17 14:36:51 +08:00 via iPhone
我是用二,手动校验数据。
|
12
xujif 2015-11-17 14:40:56 +08:00
@odirus 理论上来说返回错误的方法无非是:
1.全局 errno ( c 经常用,配合非 0 等返回) 2.异常( c++开始, java 等 c 系语言) 3.rust 这种 enum 返回值 4.go 这种多返回值 其他我就不清楚了 java 里就没有比抛异常更好的了,如果抛异常,每次方法返回的时候都要判断下返回值,性能反而更低 |
13
palmers 2016-03-22 10:41:33 +08:00
我比较常用的是: 使用错误消息对象封装错误码和错误消息,这个对象一般有下面三个成员:
1. 状态 boolean 冗余这个成员是为了快速判断 2. 错误码 3. 错误消息 一般使用枚举将错误码归类统计,同时默认错误消息,也提供一个错误消息设置接口,便于错误消息自定义, 然后返回该错误消息对象,根据状态判断是否调用通过,对应处理。 但是有时候,又需要返回其他对象, 这个我暂时还没有很好的解决方案。目前处理的方式是 尽量将这种情况拆开。 |
14
ooTwToo 2016-07-22 08:58:20 +08:00 via iPhone
service 满目的 throws 会让我看起来很慌…
|
15
honam 2016-07-22 09:24:04 +08:00
两种都做过,有直接抛 Exception 的,有在 service 返回状态码的,但是我觉得返回状态码更复杂,因为你必须描述和定义所有的异常情况并将其分类,多起来的时候还有可能出现重复定义。
|