Go 语言团队否决关于"try"语句的提案

NetFly ·
捕获异常及异常处理,是任何一种高级计算机语言都需要的一个基本机制 (跟java一点关系也没有) 如果在一个大型服务系统里,你就单单写这种 if err != nil 最后都会把你自己给绕晕
#6
更多评论
try catch一定要有的,不然满屏painc,人得疯掉! 我这个是过渡版 ```go package main import ( "fmt" "github.com/haoweitech/goext/ex" "os" ) func main() { ex.Try(func() { _, err := os.Open("/tmp/test.txt") if err != nil { painc(err) } }).Catch(&ex.Error{}, func(err interface{}) { fmt.Println(err) }).Finally(func() { fmt.Println("清洁工") }) } ```
#1
错误和异常本来就是两个东西,用异常的方式处理错误,并不是好姿势 if err的方式,本就是正常的错误处理流程,习惯了try或者忽略错误处理的脚本程序员们才会觉得这种方式有问题,但是这些朋友是不是应该反思一下你们原来的姿势真的好看吗?或者自己的代码是否健壮性如何? 比如楼上兄弟的try catch方式,比if err节省代码了或者更好看了吗?至少我是完全看不出
#2