hakeの日記

Windows環境でプログラミングの勉強をしています。

エラー状態を保持してる?

ケロログPlayerの作っていて気がついたこと
ネット接続してhtmlを取得する処理として

require "open-uri"

begin
   open( url ){ |f|         # ブログページ取得
      f.each_line{ |line|
         file.puts line
      }
   }
rescue SocketError
   エラー処理
end

といった記述をしています。
ネットに未接続状態でエラーを発生させて処理をさせたあとに、ネット接続して再度html取得をさせようとするとエラーになってしまうんですよね。アプリを起動しなおすと直るので、どうやらRubyの内部でエラー状態を保持しているっぽいです。そういえばsoft_keiさんのyahoonewsTTRでも以前同じようなことを経験した記憶が。。。
ケロログPlayerではアプリの再起動を促すメッセージの表示をさせているけどはっきり言って気持ち悪いですね、状態の初期化みたいなことができると良いのですけど。