るりまサーチ

最速Rubyリファレンスマニュアル検索!
30件ヒット [1-30件を表示] (0.009秒)
トップページ > モジュール:Kernel[x] > クエリ:caller[x]

種類

ライブラリ

キーワード

検索結果

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...

絞り込み条件を変える