【发布时间】:2015-01-07 07:28:48
【问题描述】:
这类似于 Filter out broken pipe errors ,但有一些复杂性 - 当用户在执行模板(html/template.Execute 或 text/template.Execute)时按下浏览器上的“停止”按钮时,会出现管道损坏错误发生。
但是,我相信 text/template 包返回的错误只是 *errors.errorString 类型,因为损坏的管道消息似乎包含在其他一些信息文本中,因此无法对 net. OpErr 用于比较。
例如,典型的断管错误字符串如下所示:
write tcp 127.0.0.1:60739: broken pipe
执行模板返回的损坏管道错误字符串如下所示:
template: header.html:1:0: executing "header.html" at <div id="header...>: write tcp 127.0.0.1:60739: broken pipe
我有一个用 Go 编写的生产 Web 应用程序,并且厌倦了在我的其余错误日志中直观地过滤掉损坏的管道错误,但现在我不知道如何过滤掉损坏的管道,而不是使用像字符串这样的脏东西。包含。
【问题讨论】:
标签: io go system-calls broken-pipe epipe