タグ

関連タグで絞り込む (3)

タグの絞り込みを解除

エラーハンドリングに関するakaneharaのブックマーク (4)

  • Golangのエラー処理とpkg/errors

    GoConでは毎回エラー処理について面白い知見が得られる.Go Conference 2014 autumn においては(実際のトークではないが)居酒屋にて@JxckさんがRob Pike氏から以下のようなテクニックを紹介してもらっていた. Errors are values - The Go Blog Golang Error Handling lesson by Rob Pike これはWrite(やRead)のエラー処理が複数続く場合にerrWriter を定義して複数のエラー処理を一箇所にまとめてコードをすっきりとさせるテクニックであった. そして今回の Go Conference 2016 spring のkeynoteにおいてもDave Cheney氏から(僕にとっては)新たなエラー処理テクニックが紹介された. Gocon Spring 2016 実際に使ってみて/コードを読ん

  • ERR02-C. 正常終了時の値とエラーの値は別の手段で通知する

    ERR02-C. 正常終了時の値とエラーの値は別の手段で通知する インタフェースを設計する際は、正常終了時の値とエラーの値を別の手段で通知するように、設計せよ。Cのライブラリ関数では、正常終了時の値もエラー発生時の値も返り値で表すものが多いが、このような関数の設計は推奨できない。問題を起こしやすい一例として、標準Cの EOF がある(「FIO34-C. 文字入出力関数の返り値の取得には int 型を使用する」および「FIO35-C. sizeof(int) == sizeof(char) の場合、EOF およびファイルエラーの検出には feof() と ferror() を使用する」を参照)。また、「MSC31-C. 関数の返り値は必ず適切な型と比較する」には、問題を起こしやすい別の例として、標準Cの size_t 型と time_t 型に関する使用例が述べられている。 違反コード (sp

    ERR02-C. 正常終了時の値とエラーの値は別の手段で通知する
  • エラー通知方法の古今東西 - Cube Lilac

    ちょっと前に,エラー通知の方法について一部界隈で盛り上がっていました.それを見てるうちに,そう言えばエラー通知方法ってあまり意識した事ないなと感じたので,ここで一度纏めてみます.尚,以下は C 〜 C++ を対象として記述しているので,他言語だとまた状況が異なる部分もあるかもしれません. エラー通知方法を考える際に問題になる事は,以下の 3 つに大別されるかと思います. 正常値/エラー値に何を割り当てるか エラー通知と関数適用結果をどのように共存させるか (エラーが発生した事実の通知だけではなく)エラー内容をどのように通知するか 以下,これらについてそれぞれ纏めてみます.例外との兼ね合いもあるのですが,ちょっと長くなりすぎたので今回は割愛します. 戻り値を用いたエラー通知 整数値によるエラー通知 恐らく,C の最初期の頃から(今でもずっと)行われている方法は,返す整数値の値でエラーかどうか

    エラー通知方法の古今東西 - Cube Lilac
  • Cでのエラーハンドリング方法 - khondalitのブログ

    かなり久しぶりの更新です。 仕事が忙しかったですし、そのあとはイベント続きや体調を崩したりで色々時間がなかったので...。 結局今年はプライベートで進めているプロジェクトをまだリリース出来ておらず、辛いです。 さて、この記事を読んでつらつらどうやっていたかを書こうかと思います。 Cのエラーハンドリングと例外設計、例外処理のメモ - 百日半狂乱 最近はCはさほど触らないのですが、これは難しい問題ですよね。 そももそも昔からCのコードのかなりの部分がエラーハンドリングのコードになるということは言われていて、コード量が増える原因の1つになってますね。 ラッパー関数 まずはラッパー関数を作成する方法です。 私がよく使うのはmalloc系のラッパーのxmallocです。 これは昔からよく使われるテクニックです。 void *xmalloc(size_t size) { void *tmp; tmp

    Cでのエラーハンドリング方法 - khondalitのブログ
  • 1