Я начал изучать определенные пользователем исключения в Java. И я создал простую программу стека для реализации моего собственного переполнения стека и исключения стека стека. Все в порядке, но в «поп-блоке» я получаю «отсутствующую ошибку оператора return», хотя я вернул значение.Отсутствует ошибка оператора return, хотя оператор return в используемом
Код:
import java.io.*;
class StackFullException extends Exception
{
private int a;
StackFullException(int x)
{
a=x;
}
public String toString()
{
return "Stack Overflow";
}
}
class StackEmptyException extends Exception
{
private int a;
StackEmptyException(int x)
{
a=x;
}
public String toString()
{
return "Stack underflow";
}
}
class Stack
{
int n=5;
int top=-1;
int st[]=new int[10];
void push(int val)
{
try
{
if(top==n-1)
{
throw new StackFullException(top);
}
else
{
top++;
st[top]=val;
}
}
catch(StackFullException e)
{
System.out.print("\n"+e);
}
}
int pop()
{
try
{
if(top==-1)
throw new StackEmptyException(top);
else
{
int tmp;
tmp=st[top];
top--;
return tmp;
}
}
catch(StackEmptyException e)
{
System.out.print("\n"+e);
}
}
}
class StackDemo
{
public static void main(String args[])throws IOException
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int item;
Stack s=new Stack();
System.out.print("\nEnter the elements :");
for(int i=0;i<7;i++)
{
item=Integer.parseInt(br.readLine());
s.push(item);
}
}
}
Примечание: Я не написал хлопков участие в основной еще.
Нет, нет. Бросок заменяет возвращение. Ничего, - отредактировал я :) –
Мой триггерный палец быстрее моего мозга, я имел в виду 'catch', я отредактировал –
Но если я использую броски, он не отображает сообщение, написанное в методе toString. –