new(error_message) -> SystemCallError[permalink][rdoc][edit]-
SystemCallError オブジェクトを生成して返します。
- [PARAM]
error_message: - エラーメッセージを表す文字列
p SystemCallError.new("message") # => #<SystemCallError: unknown error - message> - [PARAM]
new(error_message, errno, location = nil) -> SystemCallError[permalink][rdoc][edit]new(errno) -> SystemCallError-
整数 errno に対応する Errno::EXXX オブジェクトを生成して返します。
整数 errno をシステムコールで発生したエラーの原因を示すコードであると解釈し、対応する例外クラスのインスタンスを生成して返します。
生成されるオブジェクトは SystemCallError の直接のインスタンスではなく、サブクラスのインスタンスです。それらのサブクラスは Errno モジュール内に定義されています。対応するサブクラスが存在しないコードを与えた場合には、 SystemCallError の直接のインスタンスが生成されます。
エラーコードの取り得る値および意味はシステムに依存します。詳しくは Errno::EXXX を参照してください。
location と error_message を両方指定した場合、エラーが発生した場所を表す情報としてエラーメッセージに location が付加されます。
- [PARAM]
error_message: - エラーメッセージを表す文字列
- [PARAM]
errno: - システム依存のエラーコード
- [PARAM]
location: - エラーが発生した場所を表す文字列
- [EXCEPTION]
TypeError: - errno を整数に変換できないときに発生します。
p SystemCallError.new("message", 2) # => #<Errno::ENOENT: No such file or directory - message> p SystemCallError.new(2) # => #<Errno::ENOENT: No such file or directory> p SystemCallError.new(256) # => #<SystemCallError: Unknown error 256> p SystemCallError.new("message", 2, "location") # => #<Errno::ENOENT: No such file or directory @ location - message> - [PARAM]