Недостижимый блок Catch для IsEmptyException и IsFullException. Эти исключения никогда не выбрасываются из тела операторJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Недостижимый блок Catch для IsEmptyException и IsFullException. Эти исключения никогда не выбрасываются из тела оператор

Сообщение Anonymous »

В моем файле ArrayQueueTest.java я не могу понять, что происходит не так. Я получаю ту же ошибку:

недоступный блок catch для IsEmptyException и IsFullException

Я перепробовал все, от двойной проверки импорта/пакетов, чтобы убедиться, что все имеет правильный путь. У файлов правильный путь. Я подхожу к концу пути с этим заданием, так как понятия не имею, что происходит не так.
package apps;

import adts.ArrayQueue;
import exceptions.IsFullException;
import exceptions.IsEmptyException;

public class ArrayQueueTest {

public static void main(String[] args) {
ArrayQueue queue = new ArrayQueue(3);
try {
queue.enqueue("A");
queue.enqueue("B");
queue.enqueue("C");
System.out.println(queue);
queue.enqueue("D");
}
catch (IsFullException e) {
System.out.println(e.getMessage());
}
catch (IsEmptyException e) {
System.out.println(e.getMessage());
}
try {
System.out.println("Dequeue: " + queue.dequeue());
System.out.println(queue);
queue.dequeue();
queue.dequeue();
queue.dequeue();
}
catch (IsFullException e) {
System.out.println(e.getMessage());
}
catch (IsEmptyException e) {
System.out.println(e.getMessage());
}
}
}


package adts;

import interfaces.QueueInterface;
import exceptions.IsFullException;
import exceptions.IsEmptyException;

public class ArrayQueue implements QueueInterface {
protected E[] queue;
protected int front = 0;
protected int rear = 0;
protected int size = 0;

protected final int DEFAULT_CAPACITY = 5;

@SuppressWarnings("unchecked")
public ArrayQueue() {
queue = (E[]) new Object[DEFAULT_CAPACITY];
}

@SuppressWarnings("unchecked")
public ArrayQueue(int capacity) {
queue = (E[]) new Object[capacity];
}

@Override
public void enqueue(E element) throws IsFullException {
if (isFull()) {
System.out.println("Queue is full, throwing IsFullException"); //
throw new IsFullException("Out, out, brief candle! The queue is ful");
}
queue[rear] = element;
rear = (rear + 1) % queue.length;
size++;
}

@Override
public E dequeue() throws IsEmptyException {
if (isEmpty()) {
System.out.println("Queue is empty, throwing IsEmptyException"); //
throw new IsEmptyException("The queue is empty! All we have is time!");
}
E temp = queue[front];
queue[front] = null;
front = (front + 1) % queue.length;
size--;
return temp;
}

@Override
public boolean isEmpty() {
return size == 0;
}

@Override
public boolean isFull() {
return size == queue.length;
}

@Override
public String toString() {
StringBuilder qStr = new StringBuilder("\nQueue: ");
for (int i = 0; i < size; i++) {
qStr.append(queue[(front + i) % queue.length]).append(" ");
}
return qStr.toString();
}
}


package exceptions;

public class IsEmptyException extends Exception
{
public IsEmptyException(String message)
{
super(message);
}
}
package exceptions;

public class IsFullException extends Exception
{
public IsFullException(String message)
{
super(message);
}
}


package interfaces;

import exceptions.IsEmptyException;
import exceptions.IsFullException;

public interface QueueInterface {

void enqueue(E element) throws IsFullException; // add an element to the queue - always at the end of the queue

E dequeue() throws IsEmptyException; // remove and return the front of the queue

boolean isEmpty();

boolean isFull();

}


Подробнее здесь: https://stackoverflow.com/questions/791 ... e-exceptio
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»