我对使用 Junit 在 Java 中处理异常有点陌生,非常感谢一些指导。
我正在尝试做的事情:
我用 a 包围了新 CustomObject 的创建,因为当我们调用时
try
,用户可以传入一个与 aString
不匹配的a 。我希望能够在这里捕获异常,尽管有人告诉我:“应该避免捕获异常仅重新抛出异常的 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;
}
}
哦,如果有人能推荐任何关于异常处理的好读物,那就太好了。