Ruby 初心者スレッド ..
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
131:デフォルトの名無しさん 08/12/01 16:54:01 アスキーから出てた奴だよね。チャンスがあれば読んでみる。ありがとう 132:デフォルトの名無しさん 08/12/01 19:08:35 >>123 raise "message" -> raise RuntimeError, "message" raise XxxError.new -> raise XxxError raise XxxError -> raise XxxError 2番目は例外オブジェクトを渡す形式。 なんかどっかに取っておいてある例外を raise @ex みたいに挙げるとか。 例外を挙げる前にアクセサを呼んで情報をセットするときとか。 一番使われてるのは3番目じゃね? raise XxxError, "message" -> raise XxxError.new("message") と同じ。 1番目の形式は3番目の形式の省略形と言えるけど、これに合わせて rescueでも例外クラスを省略するとRuntimeError以下を捕捉する。 捕捉するな、ヤバいことになったぞ、ってときはExceptionとかRuntimeErrorよりスーパークラスな もの挙げたほうがいいと思う。 133:デフォルトの名無しさん 08/12/01 21:50:27 >>125 >1行目は捕捉しても意味がないエラー(エラーが出たこと自体がまずいとき) うそつけ。 raise "message" は単にエラークラスを省略しただけであり、「捕捉しても意味がない」なんてことはない。 >2行目は捕捉して回復処理を行えうる例外 >3行目は捕捉可能でユーザーにも情報を与えたいとき 逆だろ。 ユーザに情報を与えるなら raise XxxError じゃなくて raise XxxError.new("message") のほう。 初心者スレでこんなウソを垂れ流さんでくれ。初心者が間違って覚えてしまうだろうが。 それともなんかの工作員か?
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
4285日前に更新/244 KB
担当:undef