// Ok-Wrapping
fn foo() -> Result<PathBuf, io::Error> {
let base = env::current_dir()?;
Ok(base.join("foo"))
}
// use exception
fn foo() -> PathBuf throws io::Error {
let base = env::current_dir()?;
base.join("foo")
}
//Try Functions
#![feature(try_blocks)]
fn foo() -> Result<PathBuf, io::Error> {
try {
let base = env::current_dir()?;
base.join("foo")
}
}
https://yaah.dev/try-blocks
有人在boats最近的blog發現他不建議大家用
他建議除了作為返回值以外不要使用Ok-Wrapping
可以讓程式碼更清楚更容易看懂
https://boats.gitlab.io/blog/post/why-ok-wrapping/
這幾天大家瘋狂的在討論Ok-Wrapping
本文只是希望以一些分析性的方式來說明
為什麼我個人不喜歡Ok-wrapping的一些原因。
https://vorner.github.io/2020/04/09/wrapping-mental-models.html
https://github.com/victoredwardocallaghan/techair
From 日报小组 @Damody