经常看到针对这个问题的争论很多,有人特别喜欢这个处理方式,有人特别不喜欢
但是!!!我一直不能理解两者深层的不同之处。。。。是需要写比较复杂的程序才能体现出来吗?
golang 不就是把错误 /异常返回到上层函数调用处吗
try catch 不也是在上层函数调用处去捕获这个异常 /错误吗
两者到底有什么大区别,一直想不明白,有大佬可以简明扼要地解释一波吗
1
emSaVya 2021-03-04 19:18:47 +08:00
两种错误处理机制 建议搜索了解 EAFP/LBYL
|
2
imkerberos 2021-03-04 19:22:41 +08:00 via iPhone 2
如果你调用 10 层,你觉得判断 10 层省事还是 try 一次省事?
|
3
wangsongyan 2021-03-04 19:42:52 +08:00 via iPhone
我觉得 try/catch 类比 panic/recover 更好些
|
4
ysc3839 2021-03-04 19:56:53 +08:00
try catch 有 stack unwinding 的功能。return error 没有,只能返回上一层,不能一直回溯。
|
5
liuxey 2021-03-04 20:10:02 +08:00 2
|
7
cmdOptionKana 2021-03-04 20:22:41 +08:00
没啥深层区别,只是风格不同,各有优劣。
|