0

Androidで少し奇妙に見えることがあります。予期されたアプリ/ハンドラーがインストールされていない場合、アクティビティインテントを開始する呼び出しは、ActivityNotFound例外をスローする可能性がありますが、これをコーディングするときに警告はありません。ファイルの読み取り/書き込み、ネットワークなどのコードを書き込む場合、通常は警告が表示されます。この関数を「例外をスローする」としてマークするか、特定の例外に対してtry/catchを追加する必要があります。アクティビティの意図が異なるのはなぜですか?

さらに、関数を「throws ActivityNotFoundException」としてマークした場合でも、このエラーをキャッチしない呼び出し元を作成できます。正常にコンパイルされ、警告は表示されません。なんで?

4

2 に答える 2

2

チェックされていない例外を強制するのは恐ろしいので、グーグルがあなたを作ってくれなくてよかったです。

于 2012-08-06T18:45:44.023 に答える
2

警告が表示されない理由は、チェックする必要のないActivityNotFoundException拡張機能のためです。RuntimeException@Rocky Tritonが言ったように、Googleがこれを使用する理由は、例外をスローする可能性のあるすべてのステートメントを開発者がチェックしなければならないのは非常に苦痛だからです。Javaはこれを思いとどまらせますが、それでも開発者の大きな手間を省きます。(私はI / O例外をキャッチする必要があることさえ嫌いです...)

于 2012-08-06T19:02:22.430 に答える