1

私は ruby​​-library を作成しています (しかし、実際には私は Java 開発者です) 誰でも使用できるライブラリです ライブラリで何か問題が発生した場合、例外を発生させるか、エラーコードを返すだけのどちらのシナリオを希望しますか? .

Java では、例外は非常に単純であり、「スロー」宣言を定義して、lib のユーザーが例外をキャッチする必要があるようにすることができます。

Rubyで望ましい方法は何ですか?

よろしく && tia noircc

4

1 に答える 1

4

Rubyでは、あなたraiseは例外です。例外は、クラス、クラスのインスタンス、またはクラスと文字列である可能性があり、通常、クラスは の子孫でありStandardError、これは の子孫ですException。例外をキャッチするには、次のようにします。

begin
   raise StandardError, "weeee, exception!"
rescue StandardError => e # or => e for a general rescue
   puts "Exception Message: #{e.message}"
end

通常、例外処理はライブラリの外で行われるため、行を気にするだけで済みますraisethrowルビーにcatchはまだ存在しますがraise、例外処理の推奨される方法です。

于 2012-08-29T13:09:47.837 に答える