Глобальная определенная ошибка не равна в возврате RPC - PullRequest
0 голосов
/ 11 июня 2018

У меня есть пара переменных типа ошибки, определенных глобально.Например,

var ErrFileNotExist = errors.New("File does not exist")

На стороне сервера это используется в качестве возвращаемого значения в RPC, например,

func (t *Type) F(args *T1, reply *T2) error {
   ...
   // some code here.
   return ErrFileNotExist
}

Но на стороне клиента вызов этого RPC и получение возвратазначение, сравните его с глобальным ErrFileNotExist, оно не совпадает.То есть

...
// client set up
e := c.Call(...)
log.Prinln(e) // File does not exist
log.Println(e == ErrFileNotExist)  // false

Почему это происходит?Есть ли обходной путь?

...