Salida de Programas Java | Conjunto 44 (lanza palabra clave)

Requisito previo: lanzamientos

1. ¿Cuál será el resultado del siguiente programa?

class Geeks throws ArithmeticException {
public
    static void main(String[] args) throws ArithmeticException
    {
        System.out.printl(10 / 0);
        System.out.println("Hello Geeks");
    }
}

Opciones:
1. Hello Geeks
2. Sin salida
3. Excepción de tiempo de ejecución
4. Error de tiempo de compilación

Producción:

The answer is option (4)

Explicación: en el programa anterior, lanzamos ArithmeticException de la clase. Pero tenemos que tener cuidado con la convención cuando usamos la palabra clave throws que podemos usar para métodos y constructores, pero no para clases.

2. ¿Cuál será el resultado del siguiente programa?

class Geeks {
public
    static void main(String[] args) throws Geeks
    {
        Thread.sleep(10000);
        System.out.println("Hello Geeks");
    }
}

Opciones:
1. Hello Geeks
2. Error de tiempo de compilación
3. Sin salida
4. Excepción de tiempo de ejecución

Producción:

The answer is option (2)

Explicación: podemos usar la palabra clave throws solo para tipos arrojables. Si estamos tratando de usar para clases Java normales, obtendremos un error de tiempo de compilación que dice tipos incompatibles.

3. ¿Cuál será el resultado del siguiente programa?

class Test {
    void m1() throws ArithmeticException
    {
        throw new ArithmeticException("Calculation error");
    }
    void m2() throws ArithmeticException
    {
        m1();
    }
    void m3()
    {
        try {
            m2();
        }
        catch (ArithmeticException e) {
            System.out.println("ArithmeticException");
        }
    }
public
    static void main(String args[])
    {
        Test t = new Test();
        t.m3();
        System.out.println("Handled by Geeks");
    }
}

Opciones:
1. Error de cálculo
2. ArithmeticException
3. Manejado por Geeks
4. ArithmeticException Manejado por Geeks
Salida:

The answer is option (4)

Explicación: como puede ver, se produjo una excepción en el método m1() que se manejó en el método de llamadas en string m3().

4. ¿Cuál será el resultado del siguiente programa?

class Test {
    void Div() throws ArithmeticException
    {
        int a = 25, b = 0, rs;
        rs = a / b;
        System.out.print("\n\tThe result is : " + rs);
    }
public
    static void main(String[] args)
    {
        Test t = new Test();
        try {
            t.Div();
        }
        catch (ArithmeticException e) {
            System.out.print("\n\tError : " + e.getMessage());
        }
        System.out.print("\n\tBYE GEEKS");
    }
}

Opciones:
1. BYE GEEKS
2. Error de tiempo de compilación
3. Error: / por cero
4. Error: /
bye GEEKS

Producción:

The answer is option (4)

Explicación: en el programa anterior, el método Div() genera una excepción ArithmeticException, por lo tanto, hemos escrito la instrucción de llamada del método Div() en el bloque try-catch.

5. ¿Cuál será el resultado del siguiente programa?

class Test {
public
    static void main(String[] args)
    {
        fun();
    }
public
    static void fun()
    {
        moreFun();
    }
public
    static void moreFun() throws InterruptedException
    {
        Thread.sleep(10000);
        System.out.println("GEEKS");
    }
}

Opciones:
1. GEEKS
2. Sin salida
3. Error de tiempo de compilación
4. Salida de
excepción en tiempo de ejecución:

The answer is option (3)

Explicación: en el programa anterior, lanzamos InterruptedException desde un método en el que puede surgir una excepción. Pero obtendremos un error de tiempo de compilación que dice error: excepción no reportada InterruptedException; debe ser capturado o declarado para ser lanzado porque el método fun() llama al método moreFun() y el método main() llama al método fun(). Es por eso que tenemos que usar la palabra clave throws para cada persona que llama.

Este artículo es una contribución de Bishal Kumar Dubey . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 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 *