2

toStringクラス内に標準メソッドをオーバーライドしてくださいObject

このメソッドで try catch を使用するのは良い習慣ですか?

@Override
public String toString() {
    try {
        return 
                "number='" + product.getProductNumber() + 
                ", locale=" + locale;
    } catch (ProductException e) {
        return super.toString();
    }
}
4

6 に答える 6

0

このようにしない明確な理由はありません。ただし、ProductException がスローされると、現在の提案のロケール情報が失われます。これまたは super.toString() のみが必要な場合を除き、おそらく次のようにする必要があります。

@Override
public String toString() {
    String number = null;
    try {
        number = product.getProductNumber();
    } catch (ProductException e) {
        number = "unknown: " + e.getMessage(); // or something like this
    }
    // here you may or may not include super.toString()
    return super.toString() + ", number=" + number + ", locale=" + locale;
}
于 2013-07-05T10:04:55.730 に答える