はじめに
.NETのシステムエラー処理方法についてはある程度知識があったが、Java(Android)の処理方法についての知見が無かったので調べてみました。
ちなみに.NETではどうするの?
try〜catchの使い所がいまいち分かっていなかった時に調べていて、伊藤さんと赤間さんのブログを読んで目から鱗が落ちました。当時の自分もそうですが、明確に使い所を理解して使用している人は少なく、本やブログに書いてあるから取り敢えずtry〜catchで囲むものだと思っている人が未だに多いと思います。(実際にいるしね)
.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やっている人は読んでみると良いかと思います。