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

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

<시간/>

StringIndexOutOfBoundsException 선택되지 않은 중 하나입니다. 예외 자바에서. 문자열은 일종의 문자 앙상블입니다. 문자열 개체 범위가 있습니다. [0, 문자열 길이] . 실제 문자열 값의 범위를 초과하는 제한을 가진 문자에 접근하려고 하면 예외가 발생합니다.

예시 1

public class StringDemo {
   public static void main(String[] args) {
      String str = "Welcome to Tutorials Point.";
      System.out.println("Length of the String is: " + str.length());
      System.out.println("Length of the substring is: " + str.substring(28));
   }
}

출력

Length of the String is: 27
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1
       at java.lang.String.substring(String.java:1931)
       at StringDemo.main(StringDemo.java:6)


StringIndexOutOfBoundsException 처리 방법

  • String.length() 를 사용하여 문자열의 범위를 확인할 수 있습니다. 메서드를 선택하고 그에 따라 해당 문자에 액세스합니다.
  • try and catch 블록 을 사용할 수 있습니다. StringIndexOutOfBoundsException을 발생시킬 수 있는 코드 조각 주변 .

예시 2

public class StringIndexOutOfBoundsExceptionTest {
   public static void main(String[] args) {
      String str = "Welcome to Tutorials Point.";
      try {
        // StringIndexOutOfBoundsException will be thrown because str only has a length of 27.
str.charAt(28);
         System.out.println("String Index is valid");
      } catch (StringIndexOutOfBoundsException e) {
         System.out.println("String Index is out of bounds");
      }
   }
}

출력

String Index is out of bounds