Diferencia entre StringIndexOutOfBoundsException y ArrayIndexOutOfBoundsException en Java

Un evento inesperado y no deseado que interrumpe el flujo normal de un programa se llama Excepción .

La mayoría de las veces, las excepciones son causadas por nuestro programa y son recuperables. Ejemplo: si el requisito de nuestro programa es leer datos del archivo remoto ubicado en EE. UU. En tiempo de ejecución, si un archivo remoto no está disponible, obtendremos RuntimeException diciendo fileNotFoundException. Si se produce la excepción fileNotFoundException, podemos proporcionar el archivo local al programa para que lo lea y continúe con el resto del programa normalmente.

Hay principalmente dos tipos de excepción en Java de la siguiente manera:

1.Excepción marcada:

La excepción que verifica el compilador para la ejecución fluida del programa en tiempo de ejecución se denomina excepción verificada. En nuestro programa, si existe la posibilidad de que aumente la excepción verificada, entonces es obligatorio que debemos manejar esa excepción verificada (ya sea mediante la palabra clave try-catch o throws); de lo contrario, obtendremos un error en tiempo de compilación;

Ejemplos de excepciones verificadas son ClassNotFoundException , IOException, SQLException , etc.

2. Excepción no verificada:

Las excepciones que no son verificadas por el compilador, ya sea que el programador las maneje o no, se denominan excepciones no verificadas.

Ejemplos de excepciones no verificadas son ArithmeticException, ArrayStoreException, etc.

Ya sea que la excepción esté marcada o no, cada excepción ocurre en tiempo de ejecución solo si no hay posibilidad de que ocurra ninguna excepción en tiempo de compilación.

ArrayIndexOutOfBoundException : ArrayIndexOutOfBoundException es la clase secundaria de RuntimeException y, por lo tanto, es una excepción no verificada. JVM aumenta automáticamente esta excepción cada vez que usamos un valor negativo o un valor mayor o igual a la longitud de la array dada como índice de una array, obtendremos esta excepción.

Ejemplo :  

Java

// Java program to demonstrate the
// ArrayIndexOutOfBoundException
 
// import the required package
import java.io.*;
import java.lang.*;
import java.util.*;
 
// driver class
class GFG {
 
    // main method
    public static void main(String[] args)
    {
 
        // declaring and initializing an array of length 4
        int[] x = { 1, 2, 3, 4 };
 
        // accessing the element at 0 index
        System.out.println(x[0]);
 
        // accessing an index which is greater than the
        // length of array
        System.out.println(x[10]);
 
        // accessing a negative index
        System.out.println(x[-1]);
    }
}

Producción:

StringIndexOutOfBoundException: StringIndexOutOfBoundException es la clase secundaria de RuntimeException y, por lo tanto, es una excepción no verificada. JVM genera automáticamente esta excepción cada vez que en cualquier método de clase de string usamos el valor de índice que es negativo o mayor o igual que la longitud de la string dada.

Ejemplo:

Java

// Java program to demonstrate
// StringIndexOutOfBoundException
 
// import required packages
import java.io.*;
import java.util.*;
 
// driver class
class GFG {
 
    // main class
    public static void main(String[] args)
    {
 
        // declaring a string
        String s = "GEEKSFORGEEKS";
 
        // accessing the second character of the given
        // string using charAt() method
        System.out.println(s.charAt(1));
 
        // now using an index greater than the length of the
        // string
        System.out.println(s.charAt(30));
    }
}

Producción:

                ArrayIndexOutOfBoundExceptionArrayIndexOutOfBoundException                      StringIndexOutOfoundExcetion
Se lanza para indicar que se ha accedido a una array con un índice ilegal (es decir, el valor del índice es negativo o mayor o igual que la longitud de una array). Lo lanza el método de la clase de string para indicar que un valor de índice utilizado en el método de string es negativo o mayor o igual que la longitud de la string dada.

Publicación traducida automáticamente

Artículo escrito por mroshanmishra0072 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *