一个程序是否健壮,主要判断是是否对异常有精准处理。 像 Java 异常的处理虽然少写了代码,但是增加了未知性。 Go 虽然多了一些代码,但是很容易写出健壮性的程序。孰轻孰重这不是很明显吗? 健壮性, 代码, error, 孰轻孰重
1. go 的 error 类型太弱,只能靠字符串判断 2. 多层 error ,如果直接返回,溯源太难(原生 error 无调用栈),如果追加信息,就会有 1 的问题,是什么错误类型难判断 3. 如果不介意多代码,java 完全可以全部是 checked exception ,自带类型和调用栈