我有一个结构体,它有一个提供响应的方法。type ctrl struct { *base.AjaxCtrl file ini.File}func (rcv *ctrl) getVar() string { return mux.Vars(rcv.Req)["location"]}func (rcv *ctrl) getFile() string { return location.JoinPaths(folder, rcv.getVar()+ext)}func (rcv *ctrl) upload() { file, err := ini.LoadFile(rcv.getFile()) if err != nil { rcv.AddErr("TextError", err.Error()) return } rcv.file = file}// Convert text to json structurefunc (rcv *ctrl) convertToJson() string { js, err := json.Marshal(rcv.file.Section("text/signup")) if err != nil { rcv.AddErr("ConvertError", err.Error()) return "" } return string(js)}func (rcv *ctrl) serveHttp() (types.SuccsJSON, types.ErrorsJSON) { rcv.upload() if rcv.AnyErrors() { return nil, rcv.Errs } str := rcv.convertToJson() if rcv.AnyErrors() { return nil, rcv.Errs } return c.Sucss, nil}方法 serveHttp() 处理对客户端的响应。如您所见,我每次都使用 AnyError() 方法处理错误。我发现这种方式很无聊,而且可能是错误的设计。抛出恐慌而不是错误处理会更好吗?func (rcv *ctrl) upload() { file, err := ini.LoadFile(rcv.getFile()) if err != nil { rcv.AddErr("TextError", err.Error()) panic() } rcv.file = file}
- 1 回答
- 0 关注
- 160 浏览
添加回答
举报
0/150
提交
取消