Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 ArrayStoreException(선택되지 않음)을 처리하는 방법은 무엇입니까?

<시간/>

java.lang.ArrayStoreException 선택되지 않음입니다. 예외 다른 유형의 객체 배열에 유형의 객체를 저장하려고 할 때 발생할 수 있습니다. 일반적으로 java.lang.ArrayStoreException:java.lang.Integer가 발생합니다. String 배열이나 float 배열 등과 같은 다른 유형의 배열에 정수를 저장하려고 할 때 발생합니다.

예시 1

public class ArrayStoreExceptionTest {
   public static void main(String[] args) {
      Object[] names = new Float[2];
      names[1] = new Integer(2);
   }
}

출력

Exception in thread "main" java.lang.ArrayStoreException: java.lang.Integer
        at ArrayStoreExceptionTest.main(ArrayStoreExceptionTest.java:4)

위 프로그램에서 java.lang.ArrayStoreException:java.lang.Integer 발생

  • java.lang.ArrayStoreException: java.lang.Integer 개체를 저장하려고 할 때 Java 언어에서 예외가 발생했습니다. java.lang.Float. 배열
  • java.lang.Integer: 정수는 다른 유형의 배열을 저장하려고 시도한 개체 유형입니다.

ArrayStoreException 처리 방법

ArrayStoreException 을 처리할 수 있습니다. try and catch 사용 블록.

  • ArrayStoreException 을 발생시킬 수 있는 명령문 둘러싸기 시도하고 잡기 블록.
  • 우리는 잡을 수 있습니다 ArrayStore 예외 .
  • 예외를 처리하고 실행이 중단되지 않으므로 프로그램에 필요한 조치를 취하십시오.

예시 2

public class ArrayStoreExceptionTest {
   public static void main(String[] args) {
      Object[] names = new Float[2];
      try {
         names[1] = new Integer(2);
      } catch (ArrayStoreException e) {
         e.printStackTrace();
         System.out.println("ArrayStoreException is handled");
      }
      System.out.println("Continuing with the statements after try and catch blocks");
   }
}

출력

ArrayStoreException is handled
Continuing with the statements after try and catch blocks
java.lang.ArrayStoreException: java.lang.Integer
      at ArrayStoreExceptionTest.main(ArrayStoreExceptionTest.java:5)


위의 예에서 예외가 발생하면 실행은 예외가 발생한 지점에서 블록을 catch합니다. catch 블록의 명령문을 실행하고 try 및 catch 블록 뒤에 있는 명령문으로 계속됩니다.