検索結果
先頭5件
-
Kernel
. # caller(level _ num = 1) -> [String] | nil (18192) -
level_num 段上の呼び出し元の情報を $@ の形式のバックトレース(文字列の配列)として返します。
...。caller の戻り値を $@ に代入することで
例外の発生位置を設定できます。
指定した level_num 段上が存在しない場合は nil を返します。
@param level_num long の範囲を超えない正の整数でスタックレベルを指定します。
@see Kernel.#s......et_trace_func,Kernel.#raise
def foo
p caller(0)
p caller(1)
p caller(2)
p caller(3)
p caller(4)
end
def bar
foo
end
bar
#=> ["-:2:in `foo'", "-:10:in `bar'", "-:13"]
# ["-:10:in `bar'", "-:13"]
# ["-:13"]
# []
#......nil
以下の関数は、caller の要素から [ファイル名, 行番号, メソッド名]
を取り出して返します。
def parse_caller(at)
if /^(.+?):(\d+)(?::in `(.*)')?/ =~ at
file = $1
line = $2.to_i
method = $3
[file, line, method]
end......et_trace_func,Kernel.#raise
def foo
p caller(0)
p caller(1)
p caller(2)
p caller(3)
p caller(4)
end
def bar
foo
end
bar
#=> ["-:2:in `foo'", "-:10:in `bar'", "-:13:in `<main>'"]
# ["-:10:in `bar'", "-:13:in `<main>'"]
# ["-:......13:in `<main>'"]
# []
# nil
以下の関数は、caller の要素から [ファイル名, 行番号, メソッド名]
を取り出して返します。
def parse_caller(at)
if /^(.+?):(\d+)(?::in `(.*)')?/ =~ at
file = $1
line = $2.to_i
method = $3... -
Kernel
. # fail(error _ type , message = nil , backtrace = caller(0)) -> () (115) -
例外を発生させます。 発生した例外は変数 $! に格納されます。また例外が 発生した時のスタックトレースは変数 $@ に格納され ます。発生した例外は rescue 節で捕捉できます。
...ます。
@param message 例外のメッセージとなる文字列です。
@param backtrace 例外発生時のスタックトレースで、Kernel.#caller の戻り値と同じ
形式で指定しなければいけません。
@raise TypeError exception メソッドが例外オブジェクトを......ure
print "in ensure.\n"
end
foo(4) #=> in method.in rescue.in method.in else.in ensure.
#例3
class MyException
def exception(mesg=nil)
SecurityError.new(mesg)
end
end
raise MyException.new rescue p $! #=> #<SecurityError: SecurityError>
@see Kernel.#caller... -
Kernel
. # raise(error _ type , message = nil , backtrace = caller(0)) -> () (115) -
例外を発生させます。 発生した例外は変数 $! に格納されます。また例外が 発生した時のスタックトレースは変数 $@ に格納され ます。発生した例外は rescue 節で捕捉できます。
...ます。
@param message 例外のメッセージとなる文字列です。
@param backtrace 例外発生時のスタックトレースで、Kernel.#caller の戻り値と同じ
形式で指定しなければいけません。
@raise TypeError exception メソッドが例外オブジェクトを......ure
print "in ensure.\n"
end
foo(4) #=> in method.in rescue.in method.in else.in ensure.
#例3
class MyException
def exception(mesg=nil)
SecurityError.new(mesg)
end
end
raise MyException.new rescue p $! #=> #<SecurityError: SecurityError>
@see Kernel.#caller... -
Kernel
. # fail -> () (15) -
例外を発生させます。 発生した例外は変数 $! に格納されます。また例外が 発生した時のスタックトレースは変数 $@ に格納され ます。発生した例外は rescue 節で捕捉できます。
...ます。
@param message 例外のメッセージとなる文字列です。
@param backtrace 例外発生時のスタックトレースで、Kernel.#caller の戻り値と同じ
形式で指定しなければいけません。
@raise TypeError exception メソッドが例外オブジェクトを......ure
print "in ensure.\n"
end
foo(4) #=> in method.in rescue.in method.in else.in ensure.
#例3
class MyException
def exception(mesg=nil)
SecurityError.new(mesg)
end
end
raise MyException.new rescue p $! #=> #<SecurityError: SecurityError>
@see Kernel.#caller... -
Kernel
. # fail(message) -> () (15) -
例外を発生させます。 発生した例外は変数 $! に格納されます。また例外が 発生した時のスタックトレースは変数 $@ に格納され ます。発生した例外は rescue 節で捕捉できます。
...ます。
@param message 例外のメッセージとなる文字列です。
@param backtrace 例外発生時のスタックトレースで、Kernel.#caller の戻り値と同じ
形式で指定しなければいけません。
@raise TypeError exception メソッドが例外オブジェクトを......ure
print "in ensure.\n"
end
foo(4) #=> in method.in rescue.in method.in else.in ensure.
#例3
class MyException
def exception(mesg=nil)
SecurityError.new(mesg)
end
end
raise MyException.new rescue p $! #=> #<SecurityError: SecurityError>
@see Kernel.#caller... -
Kernel
. # raise -> () (15) -
例外を発生させます。 発生した例外は変数 $! に格納されます。また例外が 発生した時のスタックトレースは変数 $@ に格納され ます。発生した例外は rescue 節で捕捉できます。
...ます。
@param message 例外のメッセージとなる文字列です。
@param backtrace 例外発生時のスタックトレースで、Kernel.#caller の戻り値と同じ
形式で指定しなければいけません。
@raise TypeError exception メソッドが例外オブジェクトを......ure
print "in ensure.\n"
end
foo(4) #=> in method.in rescue.in method.in else.in ensure.
#例3
class MyException
def exception(mesg=nil)
SecurityError.new(mesg)
end
end
raise MyException.new rescue p $! #=> #<SecurityError: SecurityError>
@see Kernel.#caller... -
Kernel
. # raise(message) -> () (15) -
例外を発生させます。 発生した例外は変数 $! に格納されます。また例外が 発生した時のスタックトレースは変数 $@ に格納され ます。発生した例外は rescue 節で捕捉できます。
...ます。
@param message 例外のメッセージとなる文字列です。
@param backtrace 例外発生時のスタックトレースで、Kernel.#caller の戻り値と同じ
形式で指定しなければいけません。
@raise TypeError exception メソッドが例外オブジェクトを......ure
print "in ensure.\n"
end
foo(4) #=> in method.in rescue.in method.in else.in ensure.
#例3
class MyException
def exception(mesg=nil)
SecurityError.new(mesg)
end
end
raise MyException.new rescue p $! #=> #<SecurityError: SecurityError>
@see Kernel.#caller... -
Kernel
$ $ @ -> [String] | nil (7) -
最後に例外が発生した時のバックトレースを表す配列です。 Kernel.#raise によって設定されます。
...レースを表す配列です。
Kernel.#raise によって設定されます。
配列の各要素はメソッドの呼び出し位置を示す文字列で形式は
"filename:line"
または
"filename:line:in `methodname'"
です。これは Kernel.#caller が返す値と同じ形式で... -
Kernel
. # set _ trace _ func {|event , file , line , id , binding , klass| . . . } -> Proc (7) -
Ruby インタプリタのイベントをトレースする Proc オブジェクトとして 指定された proc を登録します。 proc に nil を指定した場合でトレースをオフにします。 ブロックを指定された場合はそのブロックをトレースする Proc オブジェクトとして登録します。
...inding:0x2b69098>, false]
# ["end", "..", 4, nil, nil, false]
# ["line", "..", 6, nil, #<Binding:0x2b68d78>, false]
# ["c-call", "..", 6, :to_s, #<Binding:0x2b68c88>, Fixnum]
# ["c-return", "..", 6, :to_s, #<Binding:0x2b68aa8>, Fixnum]
@see Kernel.#caller... -
Kernel
. # set _ trace _ func(proc) -> object (7) -
Ruby インタプリタのイベントをトレースする Proc オブジェクトとして 指定された proc を登録します。 proc に nil を指定した場合でトレースをオフにします。 ブロックを指定された場合はそのブロックをトレースする Proc オブジェクトとして登録します。
...inding:0x2b69098>, false]
# ["end", "..", 4, nil, nil, false]
# ["line", "..", 6, nil, #<Binding:0x2b68d78>, false]
# ["c-call", "..", 6, :to_s, #<Binding:0x2b68c88>, Fixnum]
# ["c-return", "..", 6, :to_s, #<Binding:0x2b68aa8>, Fixnum]
@see Kernel.#caller...
