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

Fetch API をラップした fetchWithErrorHandling を作る fetch APIを使うにあたって、ネットワークエラーなどのハンドリングを考えると少しエラーハンドリングの順序を工夫しないといけない。結論から言うと、以下のようなコードにすることで例えばChromeの ERR_CONNECTION_REFUSED も含めて拾うことができる。 const handleErrors = (res) => { if (res.ok) { return res; } switch (res.status) { case 400: throw Error('INVALID_TOKEN'); case 401: throw Error('UNAUTHORIZED'); case 500: throw Error('INTERNAL_SERVER_ERROR'); case 502:
はじめに Golangでエラーの種類によって処理を変えたい際にどういった方法があるか調べてみました。 と言うのもGolangにはtry-catchがサポートされていません。 なのでGolangでJavaのtry-catchの様な機能をどう実現できるか調べようとした事がこの記事を書いた発端です。 記事の全体概要についてです。 ・まず最初に、errorパッケージのよく使う4つの機能について説明します。 ・次に、エラーの種類によって処理を変えるために考えられる3つの方法を順に試していきます。 ・そしてエラーの種類によって処理を分けるBESTな方法の結論。 といった順序で進めていきます。 ※結論だけ知りたい人は最後の方法3をみてください。 errors packageのよく使う4つの機能 標準のエラーパッケージだと以下の機能がありません。 最初に起きたエラーの種類の判別 スタックトレースの情報を取
はじめに ・try-with-resources文を使う場合と使わない場合の記述例を示します。 ・try-with-resources文を理解するために有効なウェブサイトへのリンクを提供します。 ・try-with-resources文はJavaSE7以降で使用可能です。 ・try-with-resources文が利用できるクラスは、AutoCloseableインタフェースおよびそのサブインタフェースであるCloseableインタフェースの実装クラスに限られます。 try-with-resources文の記述例 try-with-resources文を使わない場合 import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class TryWithR
defmodule NifLlvm2 do use Rustler, otp_app: :nif_llvm_2, crate: :llvm use OK.Pipe @moduledoc """ Documentation for NifLlvm2. """ @does_support_native "SYSTEM_ELIXIR_DOES_SUPPORT_NATIVE" def init() do case {initialize_native_target(), initialize_native_asm_printer()} do {:ok, :ok} -> System.put_env(@does_support_native, "true") {:ok, true} _ -> System.put_env(@does_support_native, "false") IO.puts
意外と複雑だったので、可能な限り情報を纏めてみました。 例外の種類 Elixir の例外には throw と error と exit という3種類があります。 どの例外も、投げた直後に処理を抜けて catch や rescue に飛ぶ(あるいはそれが無ければプロセスが終了する)という点では同じです。 throw throw はフロー制御のための例外です。 Elixir は、関数の途中で return したり、ループで条件を満たしたら break するというのが出来ません。 そういう時、処理の流れ(フロー)を変えるために throw を利用します。 throw を使うことで、例えば Enum.find/2 のような関数は以下のように書けます。 def find(enumerable, default \\ nil, fun) do try do for v <- enumerable do
Goを書いていてrecoverを使うことはまずほとんどない。頻繁にrecoverを書いているとしたらなにかが間違っているのでプログラミングスタイルを見直すこと。 Goでのエラーハンドリング Effective Goなどで説明されているように、Goではエラーは関数の返り値として返される。たとえばio.ReaderのRead関数は、読み込んだバイト数と、(nilかもしれない)エラーの2つの値を返す。Goでは基本的に、エラーは常にこういう通常の値としてハンドルするべきで、エラーの時のための特別な制御構造(try 〜 catch)のようなものを使うのは、利点より害のほうが多いという考え方をとっている。 (同じような考えで例外を使用禁止にしている大規模C++プログラムはいくつもある。たとえばChromiumなどはそうだ。LLVM/Clangもパフォーマンス上の問題で例外を使っていない。C++コンパイ
皆さまゴールデンウィークはいかがお過ごしでしょうか。 GW前に投稿しようと下書きにちまちま書き溜めていた本記事ですが、スマホで誤ってゴミ箱ボタンを押してしまったがために一瞬で電子の藻屑と化してしまい泣きながら記事を書き直しています。 せめて削除時は確認ダイアログぐらい出るようにQiitaには改善してもらいたいものです。。 閑話休題。 Go言語で複数エラーハンドリングするためにいい方法ないかなーとネットの海を彷徨っていたところ、なかなかよさげな記事を見つけたので実例を交えて書き残していきたいと思います。 go1.6.2で検証 エラー処理の基本 Go言語にはtry~catch~finallyの例外処理は存在しません。 http://golang.jp/go_faq#exceptions Go言語ではエラーを処理するためにerrorインタフェースが用意されています。
ESLintのエラールール。日本語ざっくり解説[スタイル編] ※こちらは2015/9/25日の古い記事です。(ESLint v1.5.1 released 22 September 2015) 現時点(2019/9/25)ではESLint v6.4.0です。 最新のドキュメントを読みに行くことを強くオススメします。 (近いうち新たに加筆してこちらに更新する予定です) こんにちは。森田と申します。芸人をしています。今回は ESLintのエラールール。日本語「ざっくりしたの」ないのか、と思ってぐぐしても なさそうなので書きました。 ※使い方はこちら ※ここに載っているのが「ESlintのルール全て」ではありません。 他にこういうのあります。 ESLintのエラールール。日本語ざっくり解説[可能性あるエラー編] ESLintのエラールール。日本語ざっくり解説[ベストプラクティス編] ESLint
はじめに この記事は Unity Advent Calendar 2016 の9日目の記事になります。 通称 (?) ビルドおじさん として Unibook を執筆させていただいたり、勉強会で発表させていただいたりしている関係から、「今年はビルドネタを書こう!」と思っておりました。 そんな矢先に 本業 のほうで開発しているプロダクトで表題の問題が発生したため、渡りに船ってコトで本記事を執筆するに至っております。 結論 出力された Android Project の AndroidManifest.xml の application ノードの下に以下のノードを追加しましょう。 <activity android:name="com.unity.purchasing.googleplay.PurchaseActivity" android:configChanges="fontScale|ke
これは Swift Tweets の発表をまとめたものです(次回開催はこちら)。イベントのスポンサーとして Qiita に許可をいただいた上で投稿しています。 ありがとうございました!Q&Aは他の人の発表中でも構わないのでリプを飛ばして下さい。 続いては僕 @koher の発表で、タイトルは "Swiftのエラー4分類が素晴らしすぎるのでみんなに知ってほしい" です。 #swtws — koher (@koher) 2017年1月14日 第 1 部: Swift の 4 種類のエラーについて あまり知られてませんが、エラー処理について、 Swift 2.0 設計時に Core Team がまとめた "Error Handling Rationale and Proposal" というドキュメントがあります。このドキュメントは、僕が去年 try! Swift で発表した際にも参考文献にしまし
どうも @Quramy です。 さて、今日も今日とてAngular + エディタ関連ネタです。そろそろAngular 2というと怒られるらしいのでAngularと書きます。 先に成果を見てもらうのが手っ取り早いですね。コイツを見れ。 見ての通り、Angular Componentのテンプレート中でプロパティ名補完とエラーチェックを行えるようにしてみました。 上図はVimのキャプチャですが、もし、これを読んでる貴方がVisual Studio Codeユーザーであるならば、これ以降は全く読まなくてよいです。https://github.com/angular/vscode-ng-language-service にVSC用のpluginが転がっているので、こいつを入れればいいさ。 今日の想定読者は、Emacs, Vim, Sublime Text あたりを使ってAngularのコードを書いて
let it crashが生んだ誤解 ここ2年程のelixir人気に伴い, BEAM (つまりerlangとelixir) を使う人が増えました. しかし, let it crashという思想は誤解を残したまま世に広まったように感じています. 郷に入っては郷に従え. let it crashの思想をしっかり理解して実装していきたいものです. 前置き 大層なことを書きましたが, あくまでも個人的な見解であり, ポエムです. Erlang/OTPチームの見解とは異なる可能性がある点に気をつけてください. また, ご意見があればコメント欄に頂ければ幸いです. なお, Elixirのタグも付けていますが, 記事中のコードは全てErlangです. Elixirを書いている人にも知って欲しい, 「届けこの想い!」ということでタグは付けています. これらの点をご承知起きの上で読んで頂ければ幸いです.m(
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く