タグ

errorに関するkwryのブックマーク (19)

  • WebAPIでエラーをどう表現すべき?15のサービスを調査してみた - Qiita

    2017-01-05 追記 2016年3月にエラーの標準形式RFC7807「Problem Details for HTTP APIs」が提案され、今日現在proposed standard(標準化への提唱)となっています。こちらも是非ご覧ください。 RFC 7807 - Problem Details for HTTP APIs HTTP APIの詳細なエラー情報をレスポンスに持たせるための仕様 最近はREST APIを提供しているサービスが増えてきていますね!また公開されるAPIだけでなく、Microservicesなアーキテクチャを採用して、バックエンドがWeb APIで通信するケースも増えてきているように思います。 APIを使うときはあまり気にしたこともなかったですが、いざAPIを設計してみるとどんなインターフェイスがいいのか、どんな形式がいいのかといった疑問が次々と出てきます。

    WebAPIでエラーをどう表現すべき?15のサービスを調査してみた - Qiita
    kwry
    kwry 2015/05/26
  • Redirecting…

    Redirecting… Click here if you are not redirected.

    kwry
    kwry 2015/05/20
  • 大手Webサービスがクライアント側で発生したJavaScriptのエラーをどう収集しているのか まとめ - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    大手Webサービスがクライアント側で発生したJavaScriptのエラーをどう収集しているのか まとめ - Qiita
    kwry
    kwry 2014/08/29
  • JavaScript で throw "" ではなく throw new Error() を使ったほうがよい(些細な)理由 - latest log

    JavaScript で人為的に例外を発生させるには、大きく分けると以下の2種類があります。 throw new しない書き方 throw "ソフトウェアでエラーが発生しました。サポート担当者に連絡し、この問題を報告してください。"; o_o は String 扱いで、o_o.stack も undefined になっています。 throw new する書き方 throw new Error("一般的なエラーだよ"); throw new TypeError("型がちがうよ"); throw new SyntaxError("文法おかしいよ"); throw new URIError("URIちがうよ"); 他にも、RangeError, ReferenceError, MediaError, FileError, EvalError などがあります。 throw new した場合は、o_

    JavaScript で throw "" ではなく throw new Error() を使ったほうがよい(些細な)理由 - latest log
    kwry
    kwry 2014/03/12
  • 最近のPerl例外厨事情 | おそらくはそれさえも平凡な日々

    言及してくれていたのをずっと放置していた。 http://soh335.hatenablog.com/entry/2013/06/04/114954 最近結構例外厨で、事あるごとに例外投げたくなってる。結局エラー文字列を正規表現で引っ掛けるより、オブジェクトで引っ掛けたほうがエラーメッセージとかが変わった時に対応が少なくて楽だし、例外を階層化して置いたほうが色々捗る感じがしているので、丁寧に例外オブジェクト投げるように色々ラップしたほうが良いなーとか思ってる。 他言語の人にとっては何を今更みたいな話かもしれませんね。 例えば、Tengの場合だとこんな感じで、Tengはエラー投げるところがhandle_error()で一化されているので、そこをオーバーライドすれば自分の好みの例外を投げ分けるとかができる。この場合だとユニークキー制約に引っかかった場合は異なる例外を投げるようにしてある。My

    最近のPerl例外厨事情 | おそらくはそれさえも平凡な日々
  • PipelineDeals Dev Blog - PipelineDeals Dev blog - Javascript error reporting for fun and profit

    kwry
    kwry 2012/12/03
  • Perlで例外オブジェクトをeval & catch - はこべにっき ♨

    ひさびさにPerlベストプラクティスネタ。 Perlで例外処理というと、evalして$EVAL_ERROR(= $@)の文字列を判定するしかないと思っていたのだけれど、ちゃんと例外オブジェクト使う方法があった。やっぱりなんでもありだなPerlは。 PBPによると、例外オブジェクトは自分で作ることもできるのだけれど、いくつも注意しなければならないポイントがあるようだ。 文字列変換(q{""})のオーバーロード 例外をキャッチしたかを返すcaughtメソッド エラーメッセージの出力先の変更 このあたりが正しく実装できていなければだめ。しかしながら、CPANにちょっとお伺いをたてるだけで、例外用のException::Classといういかにも便利そうなモジュールを利用できるらしい。 このException::Classを利用して、Perlの例外オブジェクトを定義してみた。 use warning

    Perlで例外オブジェクトをeval & catch - はこべにっき ♨
  • とある言語の例外処理 またはTry::Tinyの落とし穴 - Articles Advent Calendar 2010 Casual

    今年の Advent Calendar もいよいよ中盤戦。 もういくつ寝ると、メリーク×ト×ス! 最近、休日になると漫画を大人買いするのが趣味になってしまったいけない大人になってしまった僕ことzentoooですが、最近のお気に入りは「未来日記」です。あー由乃かわいいなーかーわいいなーーーかーーーわいーなあーーーーあーあーあーーーーーーあーーーーーーーーーーー頭おかしいけど。 ふぅ。 さて、みなさん、コード書いてますか、コード読んでますか。 短く簡潔なコードを読むと、気持ちもスッキリしますね。 でも、たまには例外処理なんてどうですか。 Perlで例外処理ができるなんて、なんか渋くないですか。 Perlにおけるベーシックな例外処理 冗談はさておき、初めてのPerlというハレンチなを読んだりすると、多分書いてあるのは以下のような方法による例外処理です。実際に初めてのPerlに書いてあるかどうか

    とある言語の例外処理 またはTry::Tinyの落とし穴 - Articles Advent Calendar 2010 Casual
  • Exception::Class を Production でつかうときは NoContextInfo(1) しよう - tokuhirom's blog

    Exception::Class を Production でつかうときは NoContextInfo(1) しよう Exception::Class は便利なのですが、このモジュールは格的に例外的なことがおきたときに例外をあげる用途を意図して設計されているので、スタックトレースをとったりとか pid/gid/uid などを取得するなど、たいていの用途では大袈裟すぎるぐらいの情報をかきあつめてくれます。スタックトレースの取得はスクリプトなどでは問題ないのですが、Plack などをつかったウェブアプリケーションの場合には、非常にスタックがふかくなることがあるため、アクセスが非常におおいサイトでバリデーションエラーなどの際にカジュアルに例外をあげていると、おもったより負荷がかかることがあるので、以下のように $klass->NoContextInfo(1) を指定してあげるとよいでしょう。

  • node.js Domain 時代のエラー処理のコーディングパターン - ぼちぼち日記

    id:kazuhooku さんの記事 node.js におけるエラー処理のコーディングパターン (もしくは非同期 JavaScript における例外処理。 ナイスです! なんと素晴らしいタイミングでのブログでしょうか! 「東京Node学園 5時限目」で id:koichik さんのプレゼンで node-v0.7.8 から isaacs 版 Domain が導入されるという発表がありましたが、予定通り昨日 Domain 機能付きの node-v0.7.8 がリリースされました。 しかもDomain のドキュメント付きです。 http://nodejs.org/docs/v0.7.8/api/domain.html ちょうど id:kazuhooku さんの記事の例は node.js の新機能 Domain を教科書通りに適応するとどうなるのか紹介するのにぴったりのお題なので Node.js

    node.js Domain 時代のエラー処理のコーディングパターン - ぼちぼち日記
  • 「エラー忘却型コンピューティング」なんて言い出したのは誰だ! - Plan9日記

    正確にはFailure-oblivious computingを「エラー」忘却型コンピューティングって訳したのは誰だという話。訳す過程でfailureがerrorに入れ替わっている。情報系の人間は「名前重要!」とか言う割に、障害(fault)、異常(error)、故障(failure)という用語の定義、使い方に無自覚な人が少なくない。Twitterで意外と反応があったので、(自戒を込めて)書き起こしてみる。 Failure-oblivious computingは、2004年のOSDIでMITのMartin Rinardらが論文"Enhancing Server Availability and Security Through Failure-Oblivious Computing"で提案した技術。Cのような言語で不正ポインタ参照が発生しても、これを検出してなかったことにして(適当な値を

    「エラー忘却型コンピューティング」なんて言い出したのは誰だ! - Plan9日記
    kwry
    kwry 2012/04/22
  • Exception::Class - Perl 5 マスター Wiki

    Perl 5 マスター Wiki perl 5 まとめウィキ トップページページ一覧メンバー編集 × Exception::Class 最終更新: tomyhero 2009年04月26日(日) 00:15:45履歴 Tweet Javaっぽいカンジで例外処理ができるモジュールです DESCRIPTION 例外の宣言 isa fields alias description 例外キャッチのしかた Exception::Class::Base CLASS METHODS Exception::Class::Base OBJECT METHODS 例 DESCRIPTION Javaっぽく例外処理を簡単に宣言することができるよ。ただし、try/catch文法は実装してないので、その実装が必要なら Error::Simple?を使用すると良いと思います。 例外の宣言 my %E = ( 'MyA

    Exception::Class - Perl 5 マスター Wiki
  • 卜部昌平のあまりreblogしないtumblr (@shyouhei) on Tumblr

    俺はLindaたちがなにをあそこまで思いつめてRailsGirlsを始めたか完璧には理解していない(し、そもそも「完璧な理解」って存在するのか?)が、ひとつ理解しているのは、RailsGirlsはべつにRailsやりたい女子じゃないという点だ。Railsはたまたまそのへんに転がってたからチョイスしただけ。当のゴールは女性へのツールとコミュニティの提供を通じて、在野の女性のアイディアを実現する事にある。不勉強で日の事情はよく知らんけど、家はそういうことになってる。だから当にRailsGrilsのRailsってのはウィキリークスのWikiくらいどーでもいいんですよ。今後たとえばRailsいけてなくねってことになったらRails捨ててexpress.jsなりに移っても、RailsGirlsのミッションはいささかも揺るがない。 RailsGirlsってのはアファーマティブアクションですよ。

    卜部昌平のあまりreblogしないtumblr (@shyouhei) on Tumblr
  • Unix errno一覧

    他サイトで見つけたのですが,現在とちょっと違っているようなので自分で調べてまとめてみました. とりあえずmanページと,返ってきたエラーコードのみの少ない情報ですが(^^;) (Fedora9 Kernel:2.6.25) 1 EPERM Operation not permitted (POSIX.1) 2 ENOENT No such file or directory (POSIX.1) 3 ESRCH No such process (POSIX.1) 4 EINTR Interrupted function call (POSIX.1) 5 EIO Input/output error (POSIX.1) 6 ENXIO No such device or address (POSIX.1) 7 E2BIG Argument list too long (POSIX.1) 8 E

  • PC�o������ | Unix�nerrno����

    �����������d���������������������o�����������B �����������Y��������������������������(*�L�D�M) Unix�n������タ�s�����G���[�����������������G���[�l���������B �R�������������������������B�B�B��������Web������������������(T_T) ��������ゥ���������������������������������������B Unix�n�������������v���O�����������������A�����I���l��-1�������A ����errno�������G���[�R�[�h�����������A�������������������

  • Perl のローレベルエラー処理 (もしくは Errno.pm のススメ) - JPerl Advent Calendar 2009

    Perl のローレベルエラー処理 (もしくは Errno.pm のススメ) - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? 例えば、「ディレクトリが存在しなければ作成」という処理を書くことを考えてみます。 if (! -d $dir) { mkdir $dir or die "failed to create dir:$dir:$!"; } でいいしょうか? いえ、違います。これだと、-d 演算子でディレクトリの不存在を確認した後、mkdir を呼ぶまでの間に他のプロセスがディレクトリを作成してしまう可能性があります。なので、たとえば C ならば、 if (mkdir(dir) != 0 && errno != EEXIST) { fprintf(stderr, "failed to create d

  • 404エラーページの改善

    404エラーページに大幅に手を入れた。今まではフッタに載せていた人気のあるページなどを整理して、URLが間違っていることへの注意の喚起と修正候補の推薦をメインにし、その下に人気のあるページのリストを、最後に大きめの検索フォームを配置ということにした。JavaScriptが無効だとほとんど意味をなさないのが欠点。403や410、500などの他のエラーページにはまだ手をつけていない。 まずはページが見つからないということをよくある理由(ミスタイプとか)と共に訪問者に知らせるメッセージを。これは今までどおりではあるのだけど、箇条書きにして読みやすくした。横に長いと読まれないことが多いので、こういった読んで欲しいメッセージは短く箇条書きの方が向いていると思う。その上でURL修正候補を見つけることができたら、その箇条書きの前に「もしかして」というキャッチーな単語と共に挿入するようにした。この時URL

    404エラーページの改善
    kwry
    kwry 2009/10/04
  • perl - use Carp; # warn() と die() だけじゃなくて : 404 Blog Not Found

    2008年06月30日04:00 カテゴリLightweight LanguagesTips perl - use Carp; # warn() と die() だけじゃなくて 以下のエラー処理の方法にちょっと口を挟みたくなったので。 エラー処理を行う。 - サンプルコードによる Perl 入門 warn() vs. die() まず、warn()の使い方。エラーに対して使ってはいけません。warnはその名の通り、あくまでもエラーではなく警告です。エラーの際にはdie()を使わなければなりません。 警告とエラーの違いですが、警告は「続けて処理してもいいけど、これはあなたの意図ではないかもしれません」という場合、エラーは「このままでは処理を続けられません」という場合です。 たとえばperlの場合、抜けた引数はundefなので、数値としては0、文字列としては''として解釈されます。それらをデフ

    perl - use Carp; # warn() と die() だけじゃなくて : 404 Blog Not Found
  • メモ: Error.pm でサブクラス化した例外を投げる - kazuhoのメモ置き場

    例外を投げるときは $obj->throw。ベースクラスは Error::Simple。 try { MyException->new("hello world")->throw; } catch MyException with { my $e = shift; print "$e\n"; }; package MyException; use base qw(Error::Simple); みたく書く、色々教えてもらった結果理解した。miyagawa++ tokuhirom++ 8/28追記: ちなみに Error::Simple がセットする $@ は例外として送出されるオブジェクトで、かつ Error::Simple は stringify をオーバーライドしているので、eval を使って例外監視している場合もちゃんと動く。 eval { MyException->new("hel

    メモ: Error.pm でサブクラス化した例外を投げる - kazuhoのメモ置き場
  • 1