当前位置: 首页 > 知识库问答 >
问题:

go - Go RPC服务端和客户端的错误类型?

濮丁雷
2023-05-28

gorpc服务端返回的gorm.ErrRecordNotFound与客户端的gorm.ErrRecordNotFound使用errors.Is比较的结果为false

尝试在两端都注册:

gob.Register(gorm.ErrRecordNotFound)

errors.Is依旧返回false

现在的解决方案是直接比较字符串的相等性来判断是不是ErrRecordNotFound错误。

想问下,如果利用errors.Is来比较的话,要怎样实现?

共有1个答案

罗昊空
2023-05-28

代码写错了吧。。。

func TestName(t *testing.T) {

t.Log(errors.Is(gorm.ErrRecordNotFound, gorm.ErrRecordNotFound)) //true

}

 类似资料:
  • 我已经使用java nio创建了一个客户端-服务器应用程序,它工作正常,但我的问题是,当服务器有许多连接到服务器的客户端时,服务器会响应错误的客户端,而不是请求客户端。例如,如果客户端A请求第一个人的信息,服务器将第一个人的信息返回给客户端B而不是客户端A。我已经尝试同步对象,但仍然无法正常工作,可能是什么问题。这是我的服务器示例代码

  • 我想在一些计算机之间建立点对点连接,这样用户就可以在没有外部服务器的情况下聊天和交换文件。我最初的想法如下: 我在服务器上制作了一个中央服务器插座,所有应用程序都可以连接到该插座。此ServerSocket跟踪已连接的套接字(客户端),并将新连接的客户端的IP和端口提供给所有其他客户端。每个客户端都会创建一个新的ServerSocket,所有客户端都可以连接到它。 换句话说:每个客户端都有一个Se

  • 问题内容: 使用Go中的软件包,实际上是否可以从服务器向客户端进行RPC调用?如果没有,是否有更好的解决方案? 问题答案: 我目前正在使用Thrift(thrift4go)来实现服务器->客户端和客户端->服务器RPC功能。默认情况下,thrift仅像net / rpc一样执行客户端->服务器调用。由于还需要服务器与客户机之间的通信,因此我进行了一些研究并发现了bidi- thrift 。Bidi

  • 问题 当你在 CoffeeScript 上创建了一个函数,并希望将它用在有网页浏览器的客户端和有 Node.js 的服务端时。 解决方案 以下列方法输出函数: # simpleMath.coffee # these methods are private add = (a, b) -> a + b subtract = (a, b) -> a - b square = (x)

  • 我收到连接重置错误,代码如下。到底是什么原因导致了连接重置?这是因为我试图忽略SSL证书验证的方式吗? 堆栈跟踪 java.net.SocketExcema:连接重置java.net.SocketInputStream.read(SocketInputStream.java:179)com.ibm.jsse2. a. a(a.java:148)com.ibm.jsse2. a. a(a.java:

  • 我有一个包含10个微服务的微服务架构,每个微服务提供一个客户端。在由微服务团队管理/控制的客户机内部,我们只接收参数并将它们传递给一个通用http调用程序,该调用程序接收endpoint和N个params,然后进行调用。所有微服务都使用http和web api(我猜技术并不重要)。 对于我来说,作为微服务团队提供一个客户是没有意义的,应该是消费者的责任,如果他们想创建一些抽象或者直接调用它是他们的