.. _errorhandler: ErrorHandler ============ 默认配置下,有error发生时,会返回 HTTP 500 错误. 你可以通过 ErrorHandler 来定制行为: .. code-block:: diff func (i *ServiceInitializer) InitService(s turbo.Servable) error { + s.RegisterComponent("errorHandler", errorHandler) return nil } +var errorHandler turbo.ErrorHandlerFunc = func (resp http.ResponseWriter, req *http.Request, err error) { + resp.Write([]byte("from errorHandler:" + err.Error())) +} 编辑 "yourservice/service.yaml": .. code-block:: diff +errorhandler: errorHandler 重启并测试(修改 "SayHello" 方法的代码,让它返回了一个error):: $ curl -w "\n" "http://localhost:8081/hello?your_name=zx" from errorHandler:rpc error: code = Unknown desc = error!