投掷一个UnsupportedOperationException
所以该方法描述中的一个去如下:投掷一个UnsupportedOperationException
公共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()
打印出来的消息,但是有什么不同的方式来生成消息?
你不想赶在你的方法例外 - 关键是要告知调用者操作不支持:
public BasicLinkedList<T> addToFront(T data) {
throw new UnsupportedOperationException("Invalid operation for sorted list.");
}
你可以重写你的代码是这样
public BasicLinkedList<T> addToFront(T data) throws UnsupportedOperationException {
if (this instanceof SortedList) {
throw new UnsupportedOperationException("Invalid operation for sorted list.");
}else{
return this;
}
}
,基本上完成你的要求。
这个想法是,我有一个basicLinkedList类,它有一个addToFront方法,但在我的sortedLinkedList类中,add方法根据排序将节点添加到适当的位置。所以addToFront不能被调用,因为这可能会破坏sortedList。至于我想完成的事情仅仅取决于问题的要求。我不确定应该如何生成消息(通过println?或者通过异常本身,比如当你得到所有红色废话时)。 – CoderNinja 2013-03-11 00:53:55
对不起。第一次没有正确阅读你的问题。 – DigCamara 2013-03-11 00:55:38
最好使用的System.out.println(e.getMessage( ));在捕获。 – Java42 2013-03-11 00:55:53
您抛出异常并将其捕获到捕获块中!你不抓住它。 – 2017-09-09 19:33:51