[英]Java Unreported Exception in ADT
好的,對於一個類,我必須構建一個隊列ADT並使用該ADT創建一個執行基本加/減的應用程序。 問題是,當我嘗試調用具有鏈接到它們的異常的隊列的方法時,會收到“錯誤:未報告的異常FullCollectionException;必須被捕獲或聲明為拋出”。
這是我的代碼的樣子。
public void insert(Object element) throws FullCollectionException
{
if(isFull())
throw new FullCollectionException("Queue");
else
{
queue[count] = element;
count++;
}
}
isFull方法只是進行簡單的比較,以查看數組是否滿足其長度。 然后,使用它的類如下。
public class Stocks
{
public static void main(String a[])
{
Queue q = new Queue();
StackObject so = new StackObject();
q.insert(10);
q.insert(30);
}
}
我嘗試了幾種不同的方法,但似乎都沒有效果。
除非FullCollectionException
是RuntimeException
的子級(未選中),否則您將無法執行此操作。 嘗試這個:
try {
q.insert(10);
q.insert(30);
} catch (FullCollectionException fce) {
// Handle exception
}
您需要聲明main()
可能引發該異常,如下所示:
public static void main(String a[]) throws FullCollectionException
{
Queue q = new Queue();
StackObject so = new StackObject();
q.insert(10);
q.insert(30);
}
或者,也可以添加catch
塊,但只有在有實際計划要從異常中恢復時,才應該這樣做。 否則,最好讓您的程序失敗,而不是悄無聲息地掃除問題。
您需要在main方法中顯式拋出或捕獲FullCollectionException
。
PS:如果您使用Eclipse或Netbeans之類的IDE編寫代碼,系統將提示您添加此類異常處理語句。
弄清楚了。 我將異常作為作業的一部分,只是讓它們成為Exception的子級,而不是RuntimeException。 感謝你的幫助 :))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.