
今日、MozillaでRustの開発に最近参加した開発者のAaron Tyuronは、既存の
try!
マクロ以外の例外メカニズムの実装の延期を
発表しました
try!
Rustプログラミング言語の最初のリリース
後、無期限に
Result
と入力します。
これは、Rust 1.0にはファーストクラスの例外が存在しないことを意味します。つまり、言語の他の機能と完全に統合されています。
Rustでの現在のエラー処理には、
Result { Ok(value), Err(why) }
タイプ
Result { Ok(value), Err(why) }
およびマクロ
try!
。
Result
タイプは列挙型で、
Option { Some(value), None }
に似ており、意味が関連しています。 オプションタイプのオプション
None
、値がないことを示し、タイプ
Result
オプション
Err(why)
、値が存在しない理由を指定します。
Rustは、戻り値
または値を返すことができなかっ
た理由を渡すために、関数から
Result
型を返すことを提案しています。 マクロ
try!
また、別の関数の呼び出しが失敗した場合(タイプが
Result
オブジェクトに適用される場合
Err(why)
、現在の関数から
Err(why)
を自動的に返すことができます。
これはコードでどのように見えるかです:
enum MathError { DivisionByZero }
これで、エラー処理に関するRustの可能性は、実際にはそこで終わります。
Rustは、強力な静的分析システムを備えた低レベルのプログラミング言語です。 たとえば、Rustの静的分析では、メモリを使用した不注意な作業は許可されません。 Rustの詳細については、
公式Webサイトで 、
解析されたコードの例を参照してください(例:
rustbyexample.com) :
Option 、
Result 、
try! 。 この言語は非営利組織Mozillaによって開発されており、Rust 1.0のリリースは2015年初頭に予定されています。