Cafe icon indicating copy to clipboard operation
Cafe copied to clipboard

一个建议-自定义异常返回函数执行出错信息

Open salomon1184 opened this issue 11 years ago • 2 comments

remote的一些操作返回值为void(clickscreen),一些返回值为boolean(clickview),能不能统一一下,全部改为返回void,而返回为boolean的,失败的点返回一些自定义异常,这样函数执行失败,返回的信息稍微多一点。同样其他的一些与空间无关的辅助方法,失败也最好别用log的形式,多定义一些异常,会不会更清晰一点?

salomon1184 avatar Jun 05 '13 01:06 salomon1184

这个当初设计api的时候考虑如下: 1.remote.clickscreen()是跨进程点击坐标点,只要后台的service活着,就不存在因为点击失败的情况,所以返回值为空 2.remote.clickview()是跨进程的控件查找,所以会存在找不到目标控件的情况,所以返回值为布尔型 3.返回值为自定义异常,看似返回了具体的失败信息,实则加大了api使用者的使用成本,因为每个case都要写try-catch,case看起来也不够紧凑。所以Cafe采取了返回失败值,具体信息在特定标签的log中查找的折中方式。

luxiaoyu avatar Jul 05 '13 13:07 luxiaoyu

嗯,这么考量也有道理,请教一下,如果用cafe做分层设计是否合理,潜在的风险和弊端在哪呢?类似这篇帖子描述的http://www.cnblogs.com/salomon/archive/2013/03/27/2984050.html

salomon1184 avatar Jul 09 '13 05:07 salomon1184