所以其中一个方法描述如下:
public BasicLinkedList addToFront(T data)此操作无效 对于排序列表。将生成UnsupportedOperationException 使用消息“排序列表的无效操作。”
我的代码是这样的:
public BasicLinkedList<T> addToFront(T data) {
try {
throw new UnsupportedOperationException("Invalid operation for sorted list.");
} catch (java.lang.UnsupportedOperationException e) {
System.out.println("Invalid operation for sorted list.");
}
return this;
}
这是正确的做法吗?我刚刚使用println()
打印出消息,但是有不同的方式来生成消息吗?
答案 0 :(得分:16)
您不希望在方法中捕获异常 - 关键是让调用者知道不支持该操作:
public BasicLinkedList<T> addToFront(T data) {
throw new UnsupportedOperationException("Invalid operation for sorted list.");
}
答案 1 :(得分:2)
您可以将代码重写为此类
public BasicLinkedList<T> addToFront(T data) throws UnsupportedOperationException {
if (this instanceof SortedList) {
throw new UnsupportedOperationException("Invalid operation for sorted list.");
}else{
return this;
}
}
这基本上可以完成你所要求的。