私は現在XMLファイルを使用しており、try/catchブロックを適切に回避するためのより良い方法を探しています。
これがそのことです。XMLファイルがあるとしましょう。
<A>
<BB>37</BB>
<CC>
<DDD>1</DDD>
</CC>
</A>
実際、これをオブジェクトに変換します。つまり、 myXml.getA()などを実行できます。
私のコードでは、このオブジェクト内の特定の要素をたくさん検索します。つまり、次のような行がたくさんあります。
int ddd = myXml.getA().getCC().getDDD();
重要なのは、一部の要素が存在しない可能性があることです。たとえば、別のXML要素は次のようになります。
<A'>
<BB'>37</BB'>
</A'>
したがって、dddを取得しようとすると、getCC()はNullPointerExceptionを発生させます。
結局、私はそれをそのようにコーディングすることになります:
int ddd;
try{
ddd = myXml.getA().getCC().getDDD();
}
catch (NullPointerException e){
ddd = 0;
}
これは機能しますが、コードは本当に醜くなります。私は次のようなものを持つための解決策を探しています
int ddd = setInt(myXml.getA().getCC().getDDD(), 0);
メソッドが例外を発生させた場合のデフォルトは0です。
それを行うための良い方法はありますか?
今まで、エラーを起こさない解決策を見つけることができませんでした。
あなたの助けのためのThx!
編集: XML関連の回答を得ないようにしてください。みんなが問題を理解できるようにxmlの部分を見せました。私のコードでは、XMLにアクセスできませんが、XMLを表すオブジェクトのみにアクセスできます。
簡単に言うと、私が本当に気に入っているのは、ゲッターをテストするためのある種のisNullメソッドです。