Ruby 2.2.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > SignalExceptionクラス
クラスの継承リスト: SignalException < Exception < Object < Kernel < BasicObject
捕捉していないシグナルを受け取ったときに発生します。
実際に発生したシグナル名は、 Exception#message から 「"SIG" + シグナル名」という形で得られます。
デフォルトの状態では、 以下のシグナルが SignalException を発生させます。
なお、SIGINT シグナルを受けた場合は SignalException の下位クラスである Interrupt が発生します。
new(sig_number) -> SignalException
[permalink][rdoc]new(sig_name) -> SignalException
new(sig_number, sig_name) -> SignalException
引数で指定したシグナルに関する SignalException オブジェクトを生成して返 します。
引数は Signal.#list に含まれるもののいずれかを指定する必要があり ます。
signal_number = Signal.list["INT"]
se = SignalException.new(signal_number) # => #<SignalException: SIGINT>
se.signo # => 2
se = SignalException.new("INT") # => #<SignalException: SIGINT>
se.signm # => "SIGINT"
[SEE_ALSO] Signal.#list
signm -> String
[permalink][rdoc]self.message のエイリアスです。
例:
begin Process.kill('HUP', Process.pid) sleep rescue SignalException => e puts e.signm # => SIGHUP end
signo -> Integer
[permalink][rdoc]self のシグナル番号を返します。
例:
p Signal.signame(1) # => "HUP" begin Process.kill('HUP',Process.pid) sleep rescue SignalException => e p e.signo # => 1 end