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
    } }