るりまサーチ

最速Rubyリファレンスマニュアル検索!
124件ヒット [101-124件を表示] (0.114秒)

別のキーワード

  1. rbconfig ruby
  2. fiddle ruby_free
  3. fiddle build_ruby_platform
  4. rake ruby
  5. rubygems/defaults ruby_engine

ライブラリ

キーワード

検索結果

<< < 1 2 >>

Kernel.#throw(tag, value = nil) -> () (3120.0)

Kernel.#catchとの組み合わせで大域脱出を行います。 throw は同じ tag を指定した catch のブロックの終わりまでジャンプします。

...
Kernel
.#catchとの組み合わせで大域脱出を行います。 throw
は同じ tag を指定した catch のブロックの終わりまでジャンプします。

throw は探索時に呼び出しスタックをさかのぼるので、
ジャンプ先は同じメソッド内にあるとは限...
...りません。
もし ensure節 が存在するならジャンプ前に実行します。

同じ tag で待っている catch が存在しない場合は、例外で
スレッドが終了します。

同じ tag であるとは Object#object_id が同じであるという意味です。

@param ta...
...e catch の戻り値になります。
@raise ArgumentError 同じ tag で待っている catch が存在しない場合に発生します。

//emlist[例][ruby]{
def foo
throw :exit, 25
e
nd

ret = catch(:exit) do
begin
foo
some_process() # 絶対に実行されない
10
e
nsure...
...e catch の戻り値になります。
@raise UncaughtThrowError 同じ tag で待っている catch が存在しない場合に発生します。

//emlist[例][ruby]{
def foo
throw :exit, 25
e
nd

ret = catch(:exit) do
begin
foo
some_process() # 絶対に実行されない
10
e
...

Kernel.#abort -> () (3048.0)

Ruby プログラムをエラーメッセージ付きで終了します。終了ステータスは 1 固定です。

...
Ruby
プログラムをエラーメッセージ付きで終了します。終了ステータスは 1 固定です。

このメソッドと Kernel.#exit との違いは、プログラムの終了ステー
タスが 1 (正確にはCレベルの定数 EXIT_FAILURE の値)固定であることと、...
...出力 $stderr に出力することです。

引数 message を指定すると SystemExit クラスの
E
xception#message に message を設定し
て標準エラー出力に出力します。


@param message エラーメッセージ文字列です。

//emlist[][ruby]{
puts 'start'
begin
puts '...
...rt "error1"
rescue SystemExit => err
puts "end1 with #{err.inspect}"
e
nd

begin
puts 'start2...'
raise RuntimeError.new
rescue
abort
e
nsure
puts 'end2...'
e
nd
puts 'end' #実行されない

#(標準出力)
#=> start
# start1...
# end1 with #<SystemExit: error1>
# start2...
# end2....
...エラーメッセージを標準エラー出力 $stderr に出力することです。

引数 message を指定すると SystemExit クラスの
E
xception#message に message を設定し
て標準エラー出力に出力します。

引数を省略した呼び出し時に $! が nil でなけれ...
...aram message エラーメッセージ文字列です。

//emlist[][ruby]{
puts 'start'
begin
puts 'start1...'
abort "error1"
rescue SystemExit => err
puts "end1 with #{err.inspect}"
e
nd

begin
puts 'start2...'
raise RuntimeError.new
rescue
abort
e
nsure
puts 'end2...'
e
nd
puts 'end' #...
<< < 1 2 >>