basic/result-error/intro #720
Replies: 8 comments 14 replies
-
Rust:“我慌了!” |
Beta Was this translation helpful? Give feedback.
-
Go的错误处理确实感觉太简陋了。大量的if err != nil { return err}都写吐了。 |
Beta Was this translation helpful? Give feedback.
-
错误处理是不是本质上是多返回值?代码都是写死的,函数正常跑怎么会出错呢?这个所谓的错误其实就是另一条分支。 |
Beta Was this translation helpful? Give feedback.
-
错误也好,异常也罢,在错误发生的地方,其实都很好处理。但麻烦发生在一个函数中发生错误后,他下层的调用堆栈不可能都为这个错误做好处理流程,这也是很多采用异常机制的语言,都会采用逐层抛异常来强制堆栈都准备好容错。rust用Result做返回值类型,其实还有一个用意就是堆栈下面的函数,必须去容这个错的可能。这就比nil或者None更稳定的原因。 |
Beta Was this translation helpful? Give feedback.
-
早上看书看的早饭都不想吃了 |
Beta Was this translation helpful? Give feedback.
-
打卡 |
Beta Was this translation helpful? Give feedback.
-
把 Err(xx) 就当成 null 理解, 一下子就豁然了! let f = file.open("hello.txt") }else{ |
Beta Was this translation helpful? Give feedback.
-
打卡 |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
basic/result-error/intro
https://course.rs/basic/result-error/intro.html
Beta Was this translation helpful? Give feedback.
All reactions