错误处理

您可以在发生特定的http错误代码时定义自己的处理程序。

错误代码是大于或等于400的http状态代码,如404未找到和500内部服务器。示例代码:

  1. package main
  2. import "github.com/kataras/iris"
  3. func main(){
  4. app := iris.New()
  5. app.OnErrorCode(iris.StatusNotFound, notFound)
  6. app.OnErrorCode(iris.StatusInternalServerError, internalServerError)
  7. // 注册一个处理函数处理HTTP错误codes >=400:
  8. // app.OnAnyErrorCode(handler)
  9. app.Get("/", index)
  10. app.Run(iris.Addr(":8080"))
  11. }
  12. func notFound(ctx iris.Context) {
  13. // 当http.status=400 时向客户端渲染模板$views_dir/errors/404.html
  14. ctx.View("errors/404.html")
  15. }
  16. //当出现错误的时候,再试一次
  17. func internalServerError(ctx iris.Context) {
  18. ctx.WriteString("Oups something went wrong, try again")
  19. }
  20. func index(ctx context.Context) {
  21. ctx.View("index.html")
  22. }