What is hierarchy of java.lang.StringIndexOutOfBoundsException?
-java.lang.Object
-java.lang.Throwable
-java.lang.Exception
-java.lang.RuntimeException
-java.lang.IndexOutOfBoundsException
-java.lang.StringIndexOutOfBoundsException
StringIndexOutOfBoundsException is Checked (compile time exceptions) and UnChecked (RuntimeExceptions) in java ?
java.lang.StringIndexOutOfBoundsException is a RuntimeExceptions in java.
What is StringIndexOutOfBoundsException in java?
StringIndexOutOfBoundsException is thrown when an string is accessed with an illegal index.
The index accessed may be >
- Negative or
- equal to the size of string
- greater than the size of array.
Scenarios where StringIndexOutOfBoundsException may be thrown in java>
- If index accessed is Negative, StringIndexOutOfBoundsException is thrown
- If index accessed is equal to the size of array, StringIndexOutOfBoundsException is thrown
- If index accessed is greater than the size of array, StringIndexOutOfBoundsException is thrown
public class StringIndexOutOfBoundsExceptionExample {
public static void main(String args[]) {
String str= "abcd";
//If index accessed is Negative, StringIndexOutOfBoundsException is thrown
//System.out.println(str.charAt(-1));
System.out.println(str.charAt(0)); //a
System.out.println(str.charAt(1)); //b
System.out.println(str.charAt(2)); //c
System.out.println(str.charAt(3)); //d
//If index accessed is equal to the size of array, StringIndexOutOfBoundsException is thrown
//System.out.println(str.charAt(4));
//If index accessed is greater than the size of array, StringIndexOutOfBoundsException is thrown
//System.out.println(str.charAt(5));
}
}
|
If we uncomment any of the above comment line StringIndexOutOfBoundsException will be thrown >
System.out.println(str.charAt(-1));
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.charAt(Unknown Source)
at StringIndexOutOfBoundsExceptionExample.main(StringIndexOutOfBoundsExceptionExample.java:7)
System.out.println(str.charAt(4));
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 4
at java.lang.String.charAt(Unknown Source)
at StringIndexOutOfBoundsExceptionExample.main(StringIndexOutOfBoundsExceptionExample.java:14)
System.out.println(str.charAt(5));
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 5
at java.lang.String.charAt(Unknown Source)
at StringIndexOutOfBoundsExceptionExample.main(StringIndexOutOfBoundsExceptionExample.java:17)
Labels:
Core Java
Exceptions