# 错误处理

您可以在发生特定的http错误代码时定义自己的处理程序。错误代码是大于或等于400的http状态代码,如404未找到和500内部服务器。示例代码:

# 错误处理示例

package main

import "github.com/kataras/iris/v12"

func main() {
	app := iris.New()
	//报404错误,有下面的notFound处理
	app.OnErrorCode(iris.StatusNotFound, notFound)
	//报500错误,有下面的internalServerError处理
	app.OnErrorCode(iris.StatusInternalServerError, internalServerError)
	// 注册一个处理函数处理HTTP错误codes >=400:
	// app.OnAnyErrorCode(handler)
	app.Get("/", index)
	app.Run(iris.Addr(":8080"))
}
func notFound(ctx iris.Context) {
	// 当http.status=400 时向客户端渲染模板$views_dir/errors/404.html
	ctx.View("errors/404.html")
}

//当出现错误的时候,再试一次
func internalServerError(ctx iris.Context) {
	ctx.WriteString("Oups something went wrong, try again")
}
func index(ctx iris.Context) {
	ctx.View("index.html")
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27