Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

วิธีจัดการกับ StringIndexOutOfBoundsException (ไม่ได้เลือก) ใน Java?


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() เมธอดและดำเนินการเข้าถึงอักขระตามนั้น
  • เราใช้ ลองจับบล็อก รอบข้อมูลโค้ดที่อาจส่ง 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