How does Java exception / Error handling work ? Exception in thread "main" java.lang.Error:
How does Java exception / Error handling work ? Exception in thread "main" java.lang.Error:
我是 java 的新手,正在尝试弄清楚如何使用 java 中的异常。根据我读到的..我可以做类似的事情..
@SuppressWarnings("serial")
public class ElevatorFullException extends Exception {
public ElevatorFullException() { super("Elevator is Full");}
}
然后在程序中使用
public void boardPassenger( int destinationFloorNumber )
throws ElevatorFullException
{
if ( passengerCount == CAPACITY )
{
throw new ElevatorFullException();
}
passengerLeaving[destinationFloorNumber - 1] += 1;
isDestination[destinationFloorNumber -1] = true;
passengerCount += 1;
}
我的程序 运行 没有异常,但是我添加了这个异常,它因以下错误而中断:
线程异常"main"java.lang.Error:未解决的编译问题:
未处理的异常类型 ElevatorFullException
主要内容:
try{
boardPassenger(3);
}
catch(ElevatorFullException ee){
//do any processing you need when exception is thrown
}
如果无法更改 main:
public void boardPassenger( int destinationFloorNumber ) {
try{
if ( passengerCount == CAPACITY ) {
throw new ElevatorFullException();
}
passengerLeaving[destinationFloorNumber - 1] += 1;
isDestination[destinationFloorNumber -1] = true;
passengerCount += 1;
}
catch (ElevatorFullException ee){
//do any processing you need when exception is thrown
} }
我是 java 的新手,正在尝试弄清楚如何使用 java 中的异常。根据我读到的..我可以做类似的事情..
@SuppressWarnings("serial")
public class ElevatorFullException extends Exception {
public ElevatorFullException() { super("Elevator is Full");}
}
然后在程序中使用
public void boardPassenger( int destinationFloorNumber )
throws ElevatorFullException
{
if ( passengerCount == CAPACITY )
{
throw new ElevatorFullException();
}
passengerLeaving[destinationFloorNumber - 1] += 1;
isDestination[destinationFloorNumber -1] = true;
passengerCount += 1;
}
我的程序 运行 没有异常,但是我添加了这个异常,它因以下错误而中断:
线程异常"main"java.lang.Error:未解决的编译问题: 未处理的异常类型 ElevatorFullException
主要内容:
try{
boardPassenger(3);
}
catch(ElevatorFullException ee){
//do any processing you need when exception is thrown
}
如果无法更改 main:
public void boardPassenger( int destinationFloorNumber ) {
try{
if ( passengerCount == CAPACITY ) {
throw new ElevatorFullException();
}
passengerLeaving[destinationFloorNumber - 1] += 1;
isDestination[destinationFloorNumber -1] = true;
passengerCount += 1;
}
catch (ElevatorFullException ee){
//do any processing you need when exception is thrown
} }