一个查询接口方法如何返回not found错误??

一个查询接口方法如何返回not found错误??

两个方案: 一、定义一个表示结果的接口,或一个表示not found的error。sql.driver即采用了前者;sql定义一个ErrNoRows用于表示not found。 这个方案,会造成接口实现方不可避免地依赖于接口定义方。 二、返回(bool, error),bool表示是否找到。我的部分代码采用了该逻辑。这个方案的缺点是,会给后续大部分错误处理带来麻烦,比如经常要将not found转为一个404错误。

方案一是目前大家Go实现的主流方案。

在下功力有限,还请诸位赐教。

已邀请:

gosky

赞同来自:

已经想到解决方案 定义嵌入error的not found error接口 但是这个方案对接口实现方不友好

hulala - a gopher

赞同来自:

视情况而定吧,如果返回值对你来说,很重要,查询不到需要报错,就返回error;如果没有影响,就返回空值即可吧。

要回复问题请先登录注册