ぬるぽ

ゆるくプログラミングなどを語っていくブログ

Androidのシステムエラー処理方法がわかりません!!

はじめに

.NETのシステムエラー処理方法についてはある程度知識があったが、Java(Android)の処理方法についての知見が無かったので調べてみました。

ちなみに.NETではどうするの?

try〜catchの使い所がいまいち分かっていなかった時に調べていて、伊藤さんと赤間さんのブログを読んで目から鱗が落ちました。当時の自分もそうですが、明確に使い所を理解して使用している人は少なく、本やブログに書いてあるから取り敢えずtry〜catchで囲むものだと思っている人が未だに多いと思います。(実際にいるしね)

blog.jnito.com

.NETの例外処理 Part.1 – とあるコンサルタントのつぶやき

適切に処理されなかった例外をキャッチするには?:.NET TIPS - @IT

上記のサイトを見てもらえば分かると思うが、try〜catchで処理するのは、業務エラーとして処理フローに戻す場合に使用するものとなっている。むやみやたらと使用すれば良いというものでは無いことが分かる。

Java(Android)ではどうするの?

Androidについては、ここ最近取り組んでいるため知識が乏しいが、以下の赤間さんのブログを一読したことがあるため、Javaに検査例外という仕組みがある以外、基本的にはランタイムが最終的にエラーの補足をする仕組みは.NETと変わらないことが分かる。

.NETとJavaの例外処理の違い – とあるコンサルタントのつぶやき

ということは、.NETと同様に一括でシステムエラーが捕まえられるはず!!

調べて見たよ!!

6. スレッドクラスの変更点 (2) | TECHSCORE(テックスコア)

.NETにあるくらいだから、当然Javaにもありますよね。

但し、Androidの場合処理方法が悪いとANR(Application Not Responding)なる恐ろしい状況になるらしいので、この辺はもう少しちゃんと調べて処理しないとダメそうですね。

まとめ

仕事で使っている.NETに比べたら、Javaのクラスライブラリの知識からして心もとない状態なので、少しづつ前進して行くしかないですね。直ぐにどうなるものでもないので気長にやって行きましょう。

ちなみに、赤間さんのASP.NETの開発全集もAmazonでポチって全巻読ませて貰いました。難しい箇所もありますが、とても勉強になったので.NETやっている人は読んでみると良いかと思います。