我有一個結構體,它有一個提供響應的方法。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 關注
- 206 瀏覽
添加回答
舉報
0/150
提交
取消
