無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

raise

「raise <文字列>」した場合、文字列をメッセージに持つRuntimeErrorが発生します。JavaScriptみたく文字列がそのまま飛んできたりはしません。

begin
  raise "test"
rescue RuntimeError
  puts $!.to_s
end

実行結果です。

test

RuntimeErrorはStandardErrorのサブクラスなので、クラスを省略しても捕捉できます。

begin
  raise "test"
rescue
  puts $!.to_s
end

実行結果です。

test


あと、「$@」で例外の発生位置がゲットできます。これもしらなんだ。

def raise_c
  raise "test"
end

def raise_b
  raise_c
end

def raise_a
  raise_b
end

begin
  raise_a
rescue
  puts $@
end

実行結果です。

xxx/raise.rb:17:in `raise_c'
xxx/raise.rb:21:in `raise_b'
xxx/raise.rb:25:in `raise_a'
xxx/raise.rb:29