タグ

catchとerrorに関するkiyo_hikoのブックマーク (4)

  • PHP プログラマが "@" を使うべきでない 5 つの理由 - 肉とビールとパンケーキ by @sotarok

    #釣りっぽいタイトルですが大まじめです via. PHP 逆引きレシピ - 肉とご飯と甘いもの @ sotarok で、 @ (エラー制御演算子といいます!)はねーよ的な話をしましたが、著者の方から、「@に対して批判的になる理由が記載されていない」とのメールをいただきました。確かにその通りでした。実は理由を下書きのときには書いたのですが、長くなってしまったので削ってポストしたのですが、かえってわかりづらくなってしまいましたね.すみません。 ということで、PHPプログラマが、エラー制御演算子「@」使うべきでない 5 つの理由を述べます. 始める前に、質的なところ 色々理由はつけようと、やっぱり前回述べた、 終的に$qに入るものが同じであることと、コードとして同じ意味であるかは、別じゃないでしょうか。 が一番質的な話で、それ以上の話ではありません。 つまり、発生する可能性があるとわかってい

    PHP プログラマが "@" を使うべきでない 5 つの理由 - 肉とビールとパンケーキ by @sotarok
  • Ruby Users' Guide - 例外処理

    プログラムの動作に例外的な状況はつきものだ.ファイルをオープ ンしようとすれば,ファイルが存在しないかも知れないし,書き込 もうとすれば,ディスクがいっぱいかも知れない.こういう状況を 考慮していないプログラムは品質が悪いといわれる. 問題は例外的な状況が発生したかどうかが,いちいち「今の処理は 大丈夫でしたか」と確認しなければ分からないことだ.例外的な状 況で処理が正しく行われていないのに続きを実行すれば,当然問題 が起きる.例外的な状況が発生したら,そのまま処理を続けてはい けないのだ. rubyではこういう例外的な状況では「例外」が発生する.特になに も対処しなければ,「例外」はプログラムの実行を中断する.これ で例外的な状況に対処せずに処理を続けてしまう心配は無い. ruby> file =open("/file_not_exist") ERR: No such file or d

    kiyo_hiko
    kiyo_hiko 2012/10/22
    読んだ / 「beginには「やり直し」の機能もある.これには`retry'を使う」→「無限ループに陥ってしまう.retryを使う時には,例外処理 に気を使った方が良い」→微妙。Perlだとopenは述語だからorでリトライ可能だが…。
  • 防御的プログラミング・例外(2) - Strategic Choice

    例外には継承と共通する特徴があります。それは、使いようによっては複雑さを軽減できますが、軽率な使い方をするとコードを理解することはほぼ不可能になってしまうことです。そこで、例外の利点を理解し、例外につきものの問題を避けるためのアドバイスを紹介します。例外の使用法◆無視すべきでないエラーは例外を使用してプログラムの他の部分に伝える例外の最大の利点は、無視できないような方法でエラー状態を知らせることです。他の方法でエラーを処理すると、コードを通じてエラー状態を伝達しても、気付かれない可能性があります。例外を使用すれば、そのような可能性がなくなります。◆当に例外的な状況でのみ例外をスローする例外は、「当に例外的な状況」、つまり他のコーディングプラクティスでは対処できない状況のために残しておきます。例外は、予想外の状況に対処する強力な手段と、コードの複雑さの増大とのトレードオフを考慮しなければ

    kiyo_hiko
    kiyo_hiko 2012/02/27
    「プログラミング原理のほとんどは、言語の種類ではなく、言語を使用する方法に依存」「言語の「中で」プログラミングしているプログラマは、自分の考えを言語が直接サポートしている構造だけに限定してしまいます」
  • 例外を正しく使えないプログラマ多いね。 その5 | ログ速@2ちゃんねる(net)

    kiyo_hiko
    kiyo_hiko 2012/02/06
    一杯あるのでそのうちゆっくり読む
  • 1