Junitを使用してJavaで例外を処理するのは初めてです。少しのガイダンスをいただければ幸いです。
私がやろうとしていること:
新しい CustomObject の作成を で囲みます。これ
try
は、ユーザーがを呼び出すときに とString
一致しない を渡すことができるためです。ここで例外をキャッチできるようにしたいのですが、「再スローするためだけに例外をキャッチする catch ステートメントは避けるべきです」と言われています。これを処理するためのより良い方法があるはずですか?enum
valueof()
新しいオブジェクトが正しい場合
enum
、 を呼び出します。isValidObject
これは を返しますboolean
。Integer
が有効でない場合は例外throw
です。私のテストには
@Test(expected = AssertionError.class)
と があります。
例外を使用するためのより良い/よりクリーンな方法はありますか?
私は以下のコードを持っています:
private CustomObject getObjectFromString(String objectDataString) {
if (objectDataString != null) {
String[] customObjectComponents = objectDataString.split(":");
try {
CustomObject singleObject = new CustomObject(EnumObjectType.valueOf(customObjectComponents [0]),
Integer.parseInt(customObjectComponents [1]));
if (isValidCustomObject(singleObject)) {
return singleObject;
} else {
throw new IllegalArgumentException("Unknown custom object type/value: " + EnumObjectType.valueOf(customObjectComponents [0]) + ":"
+ Integer.parseInt(customObjectComponents [1]));
}
} catch (IllegalArgumentException e) {
throw e;
}
}
ああ、誰かが例外処理について読むのに何か良いことをお勧めできるなら、それは素晴らしいことです.