java 中的方法声明异常
Exceptions in method declaration in java
我有以下方法可以为 ArrayList 实现,但我不确定如何处理异常。如果 ArrayList 为空,它会自动抛出该异常还是我需要在方法中写一些东西?
public T removeLast() throws EmptyCollectionException
{
//TODO: Implement this.
}
如果 ArrayList
为空,您需要自己抛出异常 。
方法签名中的throws EmptyCollectionExceptio
子句只是提醒,对于调用代码,removeLast()
可能会抛出异常(并且应该是妥善处理)。
EmptyCollectionException 不是现有异常。定义一个新的异常:
if(list.IsEmpty()){
throw new EmptyCollectionException("message");
}
或者改用 IndexOutOfBoundsException,您也可以使用 try catch
块:
try{
//Whatever could cause the exception
}catch(IndexOutOfBoundsException e){
//Handle the exception
//e.printStackTrace();
}
您没有填写方法,所以我们不能确定。如果你使用 ArrayList.remove(0);在一个空列表上,它会给你一个 IndexOutOfBoundsException
无论如何,它永远不会抛出您的自定义异常:您需要自己抛出它。您可以在方法的顶部执行此操作,例如
public T removeLast() throws EmptyCollectionException
{
if (myList.size() == 0) throw new EmptyCollectionException("List Is Empty");
... //otherwise...
}
异常是一个扩展了throwable的对象。
你会自己写
if(list.isEmpty()){
throw new EmptyCollectionException("possibly a message here");
} else {
//your logic here to return a T
}
首先,您需要define your custom exception。那可能是:
public class EmptyCollectionExceptionextends Exception {
public EmptyCollectionException(String message) {
super(message);
}
}
然后您可以像发布的其他一些答案一样抛出异常。
public T removeLast() throws EmptyCollectionException
{
if (myList.size() == 0) throw new EmptyCollectionException("List Is Empty");
... //otherwise...
}
我有以下方法可以为 ArrayList 实现,但我不确定如何处理异常。如果 ArrayList 为空,它会自动抛出该异常还是我需要在方法中写一些东西?
public T removeLast() throws EmptyCollectionException
{
//TODO: Implement this.
}
如果 ArrayList
为空,您需要自己抛出异常 。
方法签名中的throws EmptyCollectionExceptio
子句只是提醒,对于调用代码,removeLast()
可能会抛出异常(并且应该是妥善处理)。
EmptyCollectionException 不是现有异常。定义一个新的异常:
if(list.IsEmpty()){
throw new EmptyCollectionException("message");
}
或者改用 IndexOutOfBoundsException,您也可以使用 try catch
块:
try{
//Whatever could cause the exception
}catch(IndexOutOfBoundsException e){
//Handle the exception
//e.printStackTrace();
}
您没有填写方法,所以我们不能确定。如果你使用 ArrayList.remove(0);在一个空列表上,它会给你一个 IndexOutOfBoundsException
无论如何,它永远不会抛出您的自定义异常:您需要自己抛出它。您可以在方法的顶部执行此操作,例如
public T removeLast() throws EmptyCollectionException
{
if (myList.size() == 0) throw new EmptyCollectionException("List Is Empty");
... //otherwise...
}
异常是一个扩展了throwable的对象。 你会自己写
if(list.isEmpty()){
throw new EmptyCollectionException("possibly a message here");
} else {
//your logic here to return a T
}
首先,您需要define your custom exception。那可能是:
public class EmptyCollectionExceptionextends Exception {
public EmptyCollectionException(String message) {
super(message);
}
}
然后您可以像发布的其他一些答案一样抛出异常。
public T removeLast() throws EmptyCollectionException
{
if (myList.size() == 0) throw new EmptyCollectionException("List Is Empty");
... //otherwise...
}