ライブラリ
モジュール
- Find (22)
- Kernel (156)
- Open3 (24)
- OpenSSL (12)
- Syslog (168)
-
Syslog
:: Macros (24) - Timeout (21)
-
WEBrick
:: HTTPStatus (36)
キーワード
-
LOG
_ MASK (12) -
LOG
_ UPTO (12) - abort (24)
- alert (12)
-
client
_ error? (12) - crit (12)
- debug (12)
- emerg (12)
- error? (12)
- errors (12)
- exit (12)
- fail (36)
- find (22)
- info (12)
- mask (12)
- mask= (12)
- notice (12)
- open (24)
- open! (12)
- popen2e (12)
- popen3 (12)
- raise (36)
- reopen (12)
-
server
_ error? (12) - spawn (48)
- timeout (21)
- warning (12)
検索結果
先頭5件
-
Kernel
. # raise(message , cause: $ !) -> () (25.0) -
例外を発生させます。 発生した例外は変数 $! に格納されます。また例外が 発生した時のスタックトレースは変数 $@ に格納され ます。発生した例外は rescue 節で捕捉できます。
...ntimeError を発生させます。
//emlist[例][ruby]{
begin
open("nonexist")
rescue
raise #=> `open': No such file or directory - "nonexist" (Errno::ENOENT)
end
//}
引数を渡した場合は、例外メッセージ message を持った error_type の示す例外(省略時 RuntimeError)......を
発生させます。
error_type として例外ではないクラスやオブジェクトを指定した場合、
そのオブジェクトの exception メソッドが返す値を発生する例外にします。
その際、exception メソッドに引数として変数 message を渡すこ......とができます。
@param error_type 発生させる例外を例外クラスまたは例外クラスのインスタンスで指定します。
@param message 例外のメッセージとなる文字列です。
@param backtrace 例外発生時のスタックトレースで、Kernel.#caller の戻... -
Timeout
. # timeout(sec , exception _ class = nil) {|i| . . . } -> object (19.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
...期限付きで実行します。
ブロックの実行時間が制限を過ぎたときは例外
Timeout::Error が発生します。
exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはいりま......}
rescue Timeout::Error
puts "timeout"
end
printf "%d: pi = %f\n", min[0] + min[1], min[0]*4.0/(min[0]+min[1])
#例
#=> 417519: pi = 3.141443
例 独自の例外を発生させるタイムアウト
#!/usr/bin/env ruby
require 'timeout'
class MYError < Exception;end
beg......in
Timeout.timeout(5, MYError) {
sleep(30)
}
rescue MYError => err
puts "MYError"
puts err
end
=== 注意
timeout による割り込みは Thread によって実現されています。
C 言語レベルで実装され、
Ruby のスレッドが割り込めない処理に... -
Timeout
. # timeout(sec , exception _ class , message) {|i| . . . } -> object (19.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
...期限付きで実行します。
ブロックの実行時間が制限を過ぎたときは例外
Timeout::Error が発生します。
exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはいりま......}
rescue Timeout::Error
puts "timeout"
end
printf "%d: pi = %f\n", min[0] + min[1], min[0]*4.0/(min[0]+min[1])
#例
#=> 417519: pi = 3.141443
例 独自の例外を発生させるタイムアウト
#!/usr/bin/env ruby
require 'timeout'
class MYError < Exception;end
beg......in
Timeout.timeout(5, MYError) {
sleep(30)
}
rescue MYError => err
puts "MYError"
puts err
end
=== 注意
timeout による割り込みは Thread によって実現されています。
C 言語レベルで実装され、
Ruby のスレッドが割り込めない処理に... -
Kernel
. # abort -> () (13.0) -
Ruby プログラムをエラーメッセージ付きで終了します。終了ステータスは 1 固定です。
...タスが 1 (正確にはCレベルの定数 EXIT_FAILURE の値)固定であることと、
エラーメッセージを標準エラー出力 $stderr に出力することです。
引数 message を指定すると SystemExit クラスの
Exception#message に message を設定し
て標準エラ......t1...'
abort "error1"
rescue SystemExit => err
puts "end1 with #{err.inspect}"
end
begin
puts 'start2...'
raise RuntimeError.new
rescue
abort
ensure
puts 'end2...'
end
puts 'end' #実行されない
#(標準出力)
#=> start
# start1...
# end1 with #<SystemExit: error1>
# start2.........
# end2...
#終了ステータス:1
#(標準エラー出力)
#=> error1
//}
@see Kernel.#exit,Kernel.#exit!........
# end2...
#終了ステータス:1
#(標準エラー出力)
#=> error1
# Traceback (most recent call last):
# sample.rb:11:in `<main>': RuntimeError (RuntimeError)
//}
@see Kernel.#exit,Kernel.#exit!... -
Kernel
. # abort(message) -> () (13.0) -
Ruby プログラムをエラーメッセージ付きで終了します。終了ステータスは 1 固定です。
...タスが 1 (正確にはCレベルの定数 EXIT_FAILURE の値)固定であることと、
エラーメッセージを標準エラー出力 $stderr に出力することです。
引数 message を指定すると SystemExit クラスの
Exception#message に message を設定し
て標準エラ......t1...'
abort "error1"
rescue SystemExit => err
puts "end1 with #{err.inspect}"
end
begin
puts 'start2...'
raise RuntimeError.new
rescue
abort
ensure
puts 'end2...'
end
puts 'end' #実行されない
#(標準出力)
#=> start
# start1...
# end1 with #<SystemExit: error1>
# start2.........
# end2...
#終了ステータス:1
#(標準エラー出力)
#=> error1
//}
@see Kernel.#exit,Kernel.#exit!........
# end2...
#終了ステータス:1
#(標準エラー出力)
#=> error1
# Traceback (most recent call last):
# sample.rb:11:in `<main>': RuntimeError (RuntimeError)
//}
@see Kernel.#exit,Kernel.#exit!... -
Kernel
. # exit(status = true) -> () (13.0) -
Rubyプログラムの実行を終了します。status として整 数が与えられた場合、その値を Ruby コマンドの終了ステータスとします。 デフォルトの終了ステータスは 0(正常終了)です。
...数か true または false で与えます。
//emlist[例][ruby]{
puts 'start'
begin
puts 'start1...'
exit
rescue SystemExit => err
puts "end1 with #{err.inspect}"
end
begin
puts 'start2...'
exit
ensure
puts 'end2...'
end
puts 'end' #実行されない
#=> start
# start1...
# en... -
Syslog
. # mask -> Integer | nil (13.0) -
ログの優先度のマスクを取得または設定します。 マスクは永続的であり、 Syslog.openやSyslog.close ではリセットされません。
...、
Syslog.openやSyslog.close
ではリセットされません。
@param mask ログの優先度のマスクを設定します。
@raise RuntimeError syslog がオープンされていない場合、発生します。
使用例
require 'syslog'
include Syslog::Constants
# ログの場所......log.conf を参照
log = '/var/log/ftp.log'
Syslog.open('ftpd', LOG_PID | LOG_NDELAY, LOG_FTP)
Syslog.mask = Syslog::LOG_UPTO(LOG_ERR)
[ LOG_CRIT, LOG_ERR, LOG_WARNING,
LOG_NOTICE, LOG_INFO, LOG_DEBUG ].each_with_index { |c, i|
Syslog.log(c, "test for syslog FTP #{c}, #{i}")
}... -
Syslog
. # mask=(mask) (13.0) -
ログの優先度のマスクを取得または設定します。 マスクは永続的であり、 Syslog.openやSyslog.close ではリセットされません。
...、
Syslog.openやSyslog.close
ではリセットされません。
@param mask ログの優先度のマスクを設定します。
@raise RuntimeError syslog がオープンされていない場合、発生します。
使用例
require 'syslog'
include Syslog::Constants
# ログの場所......log.conf を参照
log = '/var/log/ftp.log'
Syslog.open('ftpd', LOG_PID | LOG_NDELAY, LOG_FTP)
Syslog.mask = Syslog::LOG_UPTO(LOG_ERR)
[ LOG_CRIT, LOG_ERR, LOG_WARNING,
LOG_NOTICE, LOG_INFO, LOG_DEBUG ].each_with_index { |c, i|
Syslog.log(c, "test for syslog FTP #{c}, #{i}")
}... -
Syslog
. # open!(ident= $ 0 , options=Syslog :: LOG _ PID|Syslog :: LOG _ CONS , facility=Syslog :: LOG _ USER) { |syslog| . . . } -> self (13.0) -
開いていた syslog を最初にクローズする点を除いてSyslog.#open と同じです。
...log.open!("syslogtest2")
Syslog.log(Syslog::LOG_WARNING, "the sky is falling in %d seconds!", 200)
rescue RuntimeError => err
# RuntimeError は発生しない。
puts err
end
File.foreach('/var/log/system.log'){|line|
print line if line =~ /the sky is/
}
@see Syslog.#open... -
Syslog
. # open(ident= $ 0 , options=Syslog :: LOG _ PID|Syslog :: LOG _ CONS , facility=Syslog :: LOG _ USER) -> self (13.0) -
与えられた引数でsyslogを開きます。以降、他の Syslog モジュール関数が使 用可能となります。
...Syslog::Constants を参照してください。
@raise RuntimeError syslogを既に開いていた場合はRuntimeErrorが発生します。
@return self を返します。
syslogを既に開いていた場合はRuntimeErrorが発生します。
require 'syslog'
Syslog.open("syslogtes......t")
Syslog.log(Syslog::LOG_WARNING, "the sky is falling in %d seconds!", 100)
begin
Syslog.open("syslogtest2")
rescue RuntimeError => err
puts err #=> "syslog already open"
end
options と facility に指定できる値については
Syslog::Constants を参照してください。...