タグ

exceptionに関するYudoufuのブックマーク (5)

  • antitypical/Resultの良いところ

    また、元のコードのvalue, errorは両方ともOptionalなので、以下の4つの組み合わせが存在します。 None, None None, Some Some, None Some, Some 元のコードは(None, None)と(Some, Some)を考慮していません。 つまり、実行時には(None, Some)と(Some, None)の2パターンしか存在しないという約束を前提としたコードとなっています。 Resultを利用するとそのような約束を型で表すことができ、2パターンしか存在しないことがコンパイル時に保証されるようになります。 Cocoaの伝統的なメソッドに対してもResultを使用できます。

    antitypical/Resultの良いところ
  • Scalaでの例外処理 - Either,Option,util.control.Exception - ( ꒪⌓꒪) ゆるよろ日記

    今日はScalaの例外処理について解説しますよ。 基 - try,catch,finally 例外処理の基は、try,catch,finallyです。これはJavaと同じですね。 ただし、Scalaでのtry,catch,finallyは値を生成します。つまり、実行されたブロックの値が評価されます。 scala> val n = try{ "99".toInt } catch { case e:Exception => -99 } n: Int = 99 scala> val n = try{ "foo".toInt } catch { case e:Exception => -99 } n: Int = -99 上記のように、catch節には "case e:Exception => ..."のようなパターンマッチを書くことで、対応する例外の型に応じて補足することができます。try,

    Scalaでの例外処理 - Either,Option,util.control.Exception - ( ꒪⌓꒪) ゆるよろ日記
  • Cのエラーハンドリングと例外設計、例外処理のメモ - 百日半狂乱

    二十五日半狂乱、6日目(の分...orz)の記事 Cのエラーハンドリングを毎回やるのは面倒だ! 前回も言ったが、Cではエラーハンドリングに戻り値とerrnoを用いる. それはそうと例外設計において"無視"は大罪である. だから、関数を呼び出したら戻り値は漏らさずチェックすべきだ. ということで、例えば以下のように逐一戻り値をチェックする. if(send(sockfd, buf, len, 0) < 0){ ERROR("send"); exit(1); } あぁ、面倒だ. 一体コードのどの部分が正常系の処理なのか? ほとんどエラーハンドリング*1で埋め尽くされるじゃないか. そもそもエラーハンドリング部分に書くのは毎回同じコードだし、コードの繰り返しは防ぎたい. エラー処理部分をラッピングして楽をする unpv12eの中でラッパーを被せることによってこの面倒を回避する方法を知った. in

    Cのエラーハンドリングと例外設計、例外処理のメモ - 百日半狂乱
  • この例外を投げたのは誰だー スタックトレースで遊ぼう - お前の血は何色だ!! 4

    まぁ、不慮の例外といいますか、突然飛んでくる例外というのはいろいろあるわけで。 そりゃ、例外なんて名前がついているから、例外的に突然飛んでくるのは当たり前だろうとこともありますね。 では、この例外をだれが投げたかを C++ で追跡することはできるのでしょうか。 _ □□    _      ___、、、 //_   [][]//   ,,-―''':::::::::::::::ヽヾヽ':::::/、  誰  投   こ //  \\  //  /::::::::::::::::::::::::::::::i l | l i:::::::ミ  だ   げ   の  ̄      ̄   ̄/ /:::::::::,,,-‐,/i/`''' ̄ ̄ ̄ `i::;|  あ  た   例 ―`―--^--、__   /:::::::::=ソ   / ヽ、 /   ,,|/   っ  の   外 /f ),f

    この例外を投げたのは誰だー スタックトレースで遊ぼう - お前の血は何色だ!! 4
  • [Think IT] 第4回:例外こそオブジェクト指向 (1/3)

    【新・言語進化論】プロの言語仕様の読み方 第4回:例外こそオブジェクト指向 著者:オープンストリーム 上野 広一 監修者:オープンストリーム 高安 厚思 公開日:2007/11/27(火) 例外とは何か 皆さんは例外というものをどのようにとらえているでしょうか。初心者であれば極力お目に掛かりたくないし、避けて通りたいものかもしれません。それは「例外=エラー=悪」という単純な思い込みがあるからではないでしょうか。 しかしJavaの世界において例外を無視することはできません。そこで今回は言語仕様を元に例外というものがどのように定義されているかをみていくことにしましょう。例外の言語仕様は、「11 Exceptions(例外)」にまとめられています。 その冒頭では、例外とは何かを説明しています。 When a program violates the semantic constraints of

  • 1