错误处理机制-defer + recover 来捕获错误
This commit is contained in:
28
main.go
28
main.go
@@ -3,24 +3,18 @@ package main
|
|||||||
import "fmt"
|
import "fmt"
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
//定义一个函数类型的变量
|
test()
|
||||||
a := test
|
fmt.Println("程序执行成功")
|
||||||
fmt.Printf("a 的变量类型是 %T\n", a)
|
|
||||||
a(1)
|
|
||||||
b(2, 3, a)
|
|
||||||
|
|
||||||
// 自定义数据类型,别名
|
|
||||||
type myInt int
|
|
||||||
var sb1 myInt = 42
|
|
||||||
fmt.Println(sb1)
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func test(a int) {
|
func test() {
|
||||||
fmt.Println(a)
|
defer func() {
|
||||||
|
err := recover()
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("test发生错误", err)
|
||||||
}
|
}
|
||||||
|
}()
|
||||||
// 可传入函数类型变量
|
a := 1
|
||||||
func b(a int, b int, c func(int)) {
|
b := 0
|
||||||
c(a + b)
|
fmt.Println(a / b)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user