Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
3
Help us understand the problem. What is going on with this article?
@yosshi4486

【自分用】アプリエラー処理の勉強になる記事/書籍メモ

More than 1 year has passed since last update.

普段iOSアプリを作ってる人です。アプリケーションのエラー処理ほんっっと分からんので調べたものをまとめます。要件によってハンドリングが異なったりするからしょうがないね。

アプリケーションと三種の異常

異常を
1. 要求する異常
2. 予期する異常
3. 予期しない異常

の3パターンで分類して解説している記事。

「要求する異常は上位の利用者に異常が連鎖しない。」
「予期する異常は連鎖するが、クライアントで解決できる。」
「予期しない異常は誰も解決できない。」

このような考え方は目から鱗で、今後エラー設計の時には一番にこれを思い出したいです。

ちょっとネイティブアプリでこれらの例を考えてみる。

1. ネットワークエラーでリトライ

ネットワーク接続ができなかった時に条件分岐をしてリトライを行い、指定回数までに通信状態が良くなれば利用者に異常が連鎖しないので要求する異常と言えそう(ただし、指定回数を越えると利用者に異常が連鎖するので予期する異常とも言えるかも

条件分岐で表すのが良い。

2. テキストフィールドのバリデーションエラー

ユーザーの入力変更に任せるしかない。予期する異常。

エラーが起きた時点で処理を中断するので、条件分岐でなく try catch 構文に任せる。

3. サーバーが全然違うレスポンスを送ってきた

例えばキーや型が微妙に違ってパースできないとか。これは誰にも解決できないので予期しない異常と言えそう。

「メンテナンス中です。いついつまでは利用することができません。」などの表示でお茶を濁すしかなさそう。予期しない異常は予期していないので考えても無駄であって、大体はひとまとめに考えた方がよさそう。

Swiftのエラー4分類が素晴らし過ぎるのでみんなに知ってほしい

アプリケーションというよりも、Swiftという言語に実装されているエラーの4分類についてまとめた記事ですが、アプリケーションエラー設計をするためには言語のエラー処理機構を使う必要が出てくるので非常に大事で勉強になる記事でした。

iPhoneアプリの通信エラー処理を考える

「エラーメッセージボックスは、プログラムがバカなので処理を停止するといっているようなものであり、避けなければならない」

という話から始まるので興味惹かれる。

アプリのエラーハンドリングを松竹梅で分類した記事で、2012年とちょっと古めではあるがUXの考え方は今でも参考になる。

上記の三種の異常と対応して考えると
松: 「要求するエラー」
竹: 「予期するエラー Good」
梅: 「予期するエラー Not Good」
みたいな感じかな。

Pathのネットワークがない状態でもPOST成功したように見せて、復帰したタイミングで通信やり直しするのはすごい勉強になった。

モバイルアプリのエラーにどう対処するか

エラーが起こる箇所を
1. アプリ
2. アプリとサーバー間
3. サーバー/インフラ

と分け、エラーの種類を
1. 回復可能
2. 回復不可能

と分けて解説してある記事。

ざっくりとアプリエラーについて考えるのにすごく勉強になった。

終わりに

エラー処理知見って泥臭くて表に出てきにくいですがUXに直結して非常に重要なので、いい記事/本あったら教えてください!

3
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
yosshi4486
アプリケーション作るのが好きな人

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
3
Help us understand the problem. What is going on with this article?