module Exception2MessageMapper

[edit]

aliases: Exception2MessageMapper::E2MM

要約

例外クラスに特定のエラーメッセージ用フォーマットを関連づけるためのモジュールです。

目次

特異メソッド
インスタンスメソッド

特異メソッド

Raise(klass = E2MM, exception_class = nil, *rest) -> ()[permalink][rdoc][edit]
Fail(klass = E2MM, exception_class = nil, *rest) -> ()

登録されている情報を使用して、例外を発生させます。

[PARAM] klass:
一階層上となるクラス名を指定します。
[PARAM] exception_class:
例外クラス。
[PARAM] rest:
メッセージに埋め込む値。
[EXCEPTION] Exception2MessageMapper::ErrNotRegisteredException:
指定された例外クラスに対応するメッセージが存在しない場合に発生します。
def_e2message(klass, exception_class, message_format) -> Class[permalink][rdoc][edit]

すでに存在する例外クラス exception_class に、エラーメッセージ用フォーマット message_format を関連づけます。

[PARAM] klass:
一階層上となるクラス名を指定します。
[PARAM] exception_class:
メッセージを登録する例外クラスを指定します。
[PARAM] message_format:
メッセージのフォーマットを指定します。 Kernel.#sprintf のフォーマット文字列と同じ形式を使用できます。
[RETURN]
exception_class を返します。
def_exception(klass, exception_name, message_format, superklass = StandardError) -> Class[permalink][rdoc][edit]

exception_name という名前の例外クラスを定義します。

[PARAM] klass:
一階層上となるクラス名を指定します。
[PARAM] exception_name:
例外クラスの名前をシンボルで指定します。
[PARAM] message_format:
メッセージのフォーマットを指定します。 Kernel.#sprintf のフォーマット文字列と同じ形式を使用できます。
[PARAM] superklass:
定義する例外クラスのスーパークラスを指定します。省略すると StandardError を使用します。
[RETURN]
定義した例外クラスを返します。
e2mm_message(klass, exp) -> String | nil[permalink][rdoc][edit]
message(klass, exp) -> String | nil

[TODO]

[PARAM] klass:
[PARAM] exp:
extend_object(cl) -> ()[permalink][rdoc][edit]

[TODO]

[PARAM] cl:

インスタンスメソッド

Raise(exception_class = nil, *rest) -> ()[permalink][rdoc][edit]
Fail(exception_class = nil, *rest) -> ()

登録されている情報を使用して、例外を発生させます。

[PARAM] exception_class:
例外クラス。
[PARAM] rest:
メッセージに埋め込む値。
[EXCEPTION] Exception2MessageMapper::ErrNotRegisteredException:
指定された例外クラスに対応するメッセージが存在しない場合に発生します。

例:

class Foo
  extend Exception2MessageMapper
  p def_exception :NewExceptionClass, "message...%d, %d and %d" # =>

  def foo
    Raise NewExceptionClass, 1, 2, 3
  end
end

Foo.new().foo() #=> in `Raise': message...1, 2 and 3 (Foo::NewExceptionClass)
                #   という例外が発生します。

Foo.Raise Foo::NewExceptionClass, 1, 3, 5  #=> in `Raise': message...1, 3 and 5 (Foo::NewExceptionClass)
                                           #   という例外が発生します。
bind(cl) -> ()[permalink][rdoc][edit]

[TODO]

[PARAM] cl:
xxx
def_e2message(exception_class, message_format) -> Class[permalink][rdoc][edit]

すでに存在する例外クラス exception_class に、エラーメッセージ用フォーマット message_format を関連づけます。

このフォーマットは Exception2MessageMapper#Raise, Exception2MessageMapper#Fail で使用します。

[PARAM] exception_class:
メッセージを登録する例外クラスを指定します。
[PARAM] message_format:
メッセージのフォーマットを指定します。 Kernel.#sprintf のフォーマット文字列と同じ形式を使用できます。
[RETURN]
exception_class を返します。
def_exception(exception_name, message_format, superclass = StandardError) -> Class[permalink][rdoc][edit]

exception_name という名前の例外クラスを定義します。

[PARAM] exception_name:
定義する例外クラスの名前をシンボルで指定します。
[PARAM] message_format:
メッセージのフォーマット。
[PARAM] superclass:
定義する例外のスーパークラスを指定します。省略すると StandardError を使用します。
fail(exception_class = nil, *rest) -> ()[permalink][rdoc][edit]

登録されている情報を使用して、例外を発生させます。

[PARAM] exception_class:
例外クラス。
[PARAM] rest:
メッセージに埋め込む値。
[EXCEPTION] Exception2MessageMapper::ErrNotRegisteredException:
指定された例外クラスに対応するメッセージが存在しない場合に発生します。