错误是值(博客) - 逻辑上是一样的吗?

最近,从我们的日志中,我们看到:


httpRes status received 400 Bad Request for this linkedinToken AQUz3sCODu312rHNtNfuns3awy0xoUxxxxxxxxxxx.

 With Request: {"content":{"submitted-url":"http://mpg.smh.re/2Ra","title":"Gestionnaire sinistre H/F − Belgique ","description":"Responsable de la gestion de dossiers sinistres dans leur intégralité,

 vous serez en contact avec de nombreux interlocuteurs (compagnies 

d’assurances, clients et bureaux locaux).","submitted-image-url":"http://www.morganphilipsexecutivesearch.com/wp-content/uploads/2014/09/fyte-smarpshare.jpg"},"visibility":{"code":"anyone"},"comment":"FYTE, cabinet de recrutement spécialisé recrute pour l’un de ses clients situé en Belgique un Gestionnaire sinistre H/F."}.

 Response body: {

  "errorCode": 0,

  "message": "Couldn't parse Json body: Illegal unquoted character ((CTRL-CHAR, code 10)): has to be escaped using backslash to be included in string value\n at [Source: java.io.StringReader@42ea5bc1; line: 1, column: 187]",

  "requestId": "0GYQWP14U9",

  "status": 400,

  "timestamp": 1423490252325

}

``


LinkedIn API 表示无法解析 JSON 正文。我们的疑问是 JAVA JSON 解析器不处理字符“é”或“'”。


我的问题是我们应该注意其他任何特殊/Unicode 字符吗?因为这个 JSON 主体是由 Go 内置的编组。


更新:我最近发现“换行”(“CTRL-CHAR,代码 10”)是这个问题的关键。“换行”字符出现在“...leur intégralité,”之后。我现在的问题是为什么 Go 内置的 JSON marshaller 不处理它


陪伴而非守候
浏览 169回答 2
2回答

慕莱坞森

不,它们是一样的。如果error发生在fd.Write(p0[a:b]),err变量将保持其值。现在,如果您调用write(p1[c:d]),那么write()func 将首先检查是否,err != nil但由于它已经存储error了前一次调用中发生的 ,它将立即返回并且不会执行进一步的代码。

牛魔王的故事

a) 是的,你是对的。如果在第一次写入时发生错误,它将返回。b) 否。write本例中的The是闭包。它的err内部与外部作用域相同。因此,如果第一写入失败,其他的将简单地返回,因为外部err不nil了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go