>>606
Rustなら色々やり方あろうけど、わかりやすい例にするとこうなる。
fn main() {
match sub() {
Ok(result) => { commit(); println!("OK: {}", result); },
Err(err) => { rollback(); println!("ERROR: {}", err); },
}
}
sub() -> Result<DataType, Error> {
let a = foo()?;
let b = bar()?;
baz(a, b)
}
foo(), bar(), baz()各々はResultでエラー値も同時に返しているが、エラーチェックはまとめて出来る。
ResultはOkとErrの2つを取るenumであり、matchは強力なswitch相当と思っていただければいい。
try catchといった例外処理がなくてもプログラミングで困ることはない。
探検
C vs C++ vs Rust Part.2
■ このスレッドは過去ログ倉庫に格納されています
610デフォルトの名無しさん
2022/01/13(木) 16:20:05.76ID:2BXAobev■ このスレッドは過去ログ倉庫に格納されています
