假设我有html/template
以下内容:
<html>
<body>
<p>{{SomeFunc .SomeData}}</p>
</body>
有时会SomeFunc
返回错误。有没有一种惯用的方法来处理这个问题?
如果我直接写入ResponseWriter
,则在遇到错误之前已经写入了状态代码 200。
var tmpl *template.Template
func Handler(w http.ResponseWriter, r *http.Request) {
err := tmpl.Execute(w, data)
// "<html><body><p>" has already been written...
// what to do with err?
}
最好我会返回一个状态码 400 或类似的,但如果我template.Execute
直接在ResponseWriter
. 有什么我想念的吗?