タグ

exceptionに関するtarchanのブックマーク (7)

  • 例外中に例外を投げるとか二重例外はエラーという俗説について

    いよいよC++の参考書の執筆も例外にまで到達した。例外は、規格の文面量だけで言えば短いが、詳細を解説するのは難しい。なにせ、まともに日語で解説しているは皆無だからだ。ついでに、規格の文面のバグも発見した。これはすでに報告済みなので、次のC++規格では修正されるはずだ。 ちなみに、"C++ 例外"で検索して出てくる情報の大半が間違っているか、十分な詳細を解説していない。責任は規格違反な実装、特にMSVCにある。MSVCの挙動が全てだと信じる愚者が、規格を参照せずMSVCの挙動をもとに解説を書いているからだ。 たとえば、例外をハンドルしていない状態でオペランドのないthrow式を実行すると、std::terminateが呼ばれる。 int main() { throw ; // std::terminateが呼ばれる } あるC++解説サイトでは、何故かstd::bad_exception

    tarchan
    tarchan 2013/05/07
    >MSVCの挙動が全てだと信じる愚者が、規格を参照せずMSVCの挙動をもとに解説を書いている
  • 非同期APIと例外処理(node.js の domain について)

    node.js のような非同期APIを使ったプログラミングに拒絶反応を示すエンジニアが多い理由の一つが、非同期APIと例外処理の相性の悪さだ。 Javascript の場合、例外処理はこんな感じに記述する。 function f(i) { try { throw new Error('an error #'+ i); } catch(e) { console.log('Error caught:', e.message); } } ところが、これに非同期APIが絡むと、とたんに分かりにくくなる。例えば下の例。 function f(i) { try { setTimeout(function() { throw new Error('an error #'+ i); }, 1000); } catch(e) { console.log('Error caught:', e.message)

  • java-jaで例外処理の話をしてきました - 西尾泰和のはてなダイアリー

    ブログを書くまでがjava-jaですが、もう眠いのでとりあえず1行だけ書いて、あとは徐々に書き足す。 会場を無料提供してくれたグリーさん、ありがとうございます! 誰かが検査例外の話をするだろうと思って書かなかったら結局誰も言及しなかった、Javaのコミュニティなのに。 っていうか聴衆が100人もいると、もしかしてそもそも「検査例外ってなに?」って人もいたんじゃないか?「検査例外がOCPを壊す」とか「Liskovの置換原則のLiskov」とか通じてるんだろうか?とりあえず直和型が通じてないことだけはひしひしと感じた。 Twitterの自分の発言を転載しておく。 ちなみにZen of Pythonでも「エラーを握りつぶすな」と書いてあります 禅 of Python: 20の格言 「例外はそもそも何のため」ってところ、ざっくり省いたんだけどもそういうところのほうがニーズあったかね?? 「C#1.

    java-jaで例外処理の話をしてきました - 西尾泰和のはてなダイアリー
  • java-ja『LOG.debug("nice catch!")』に参加してきた #java_ja - Diary of absj31

    LOG.debug("nice catch!") - connpass 2012/06/27 java-ja 『LOG.debug("nice catch!")』#java_ja #javaja - Togetter (写真:会場入り口。あれ、イベント名が…こちらが正式名称だったのかな。) try { java-jaで例外とロギングについて勉強します 話していただくのは 俺たちのt-wadaこと和田さんと PFIの田中英行さん 歩く萌え要素こと西尾泰和さん 歩くモヒカン太一 です try { LT.add(ヨシオリ) LT.add(crexista, 'クライアント側でナイスキャッチ') LT.add(@shomah4a, 'PyconJPのCfPの宣伝') } catch (LTTimeoutException lte) { LOG.debug(ドラ) } try { 他にも発表いただく

    java-ja『LOG.debug("nice catch!")』に参加してきた #java_ja - Diary of absj31
  • java-ja の例外とロギング勉強会で発表してきました - 純粋関数空間

    例外の勉強会をやるので、是非にというお話を頂いて、 LOG.debug(“nice catch!”) というイベントで発表させていただきました。 当日の資料はこちらでご覧になれます。 エラー処理の抽象化 昨年末頃に社内セミナーで発表した エラー処理を書いてはいけない をもうちょっと抽象的に、あるいは具体的な話を入れて焼き直したような内容です。 今回は java-ja さんの勉強会という事で、 なにやらモヒカンとかマサカリとかが飛んでくるらしい、 とんでもないところに来てしまったとビクビクしていましたが、 この難局も何とか乗り切りました。はい。 皆さんとても真面目にソフトウェアエンジニアリングについて議論していて、楽しかったです。 僕は普段Javaでコードは書かないのですが、 Javaだと普通こうする的なのが垣間見えて、 いろいろJavaのバッドノウハウ(あるいはグッドプラクティス)が学べま

  • .NETの例外処理 Part.1 - とあるコンサルタントのつぶやき - Site Home - MSDN Blogs

    Archived MSDN and TechNet Blogs 2/7/2020 2 minutes to read MSDN and TechNet blog sites have been retired, and blog content has been migrated and archived here. Archived blogs are grouped alphabetically by the initial letter of the blog name. Blogs and blog posts can be searched by their names, using the Search box at the top of the page. Actively updated blogs have been moved to other blog sites,

    .NETの例外処理 Part.1 - とあるコンサルタントのつぶやき - Site Home - MSDN Blogs
  • Throwableについて本気出して考えてみた 2nd Season - 都元ダイスケ IT-PRESS

    1st Seasonはこちら。Throwableについて気出して考えてみた - 都元ダイスケ IT-PRESS 以前は、何かをスローする状況を3つに分けてそれに合った設計をした例外を投げましょう、という考え方を示しました。 callerのバグ: RTE calleeのバグ: Error どちらでもない: Exception (非RTE) まぁ詳しくはSeason1の方で。 Seasar2はRuntimeExceptionですね。2004年ぐらいからのフレームワークはRTEをスローしていると思いますよって、ひがさんから情報。 チェックされる例外とチェックされない例外について - じゅんいち☆かとうの技術日誌 ただ、上記のような考え方もあるのも事実。実際.NETRuby, Python, 新鋭のScala等もcatchを強制する例外というものが言語仕様的に存在しません*1。逆に、チェック例

    Throwableについて本気出して考えてみた 2nd Season - 都元ダイスケ IT-PRESS
    tarchan
    tarchan 2009/10/21
    自分が基本部品を作って他人に使わせるという状況では、SQLExceptionなども全部非チェック例外でラッピングしてベースクラスで例外処理を引き受けてた/causeに原因となった例外を保存して条件分岐もしてた
  • 1