Em Java, as exceções nos permitem escrever códigos de boa qualidade onde os erros são verificados em tempo de compilação em vez de em tempo de execução e podemos criar exceções customizadas facilitando a recuperação e depuração do código.
Palavra-chave de lançamento Java
A palavra-chave Java throw é usada para lançar uma exceção explicitamente.
como converter str para int
Nós especificamos o exceção objeto que será lançado. A exceção contém alguma mensagem que fornece a descrição do erro. Essas exceções podem estar relacionadas a entradas do usuário, servidor, etc.
Podemos lançar exceções verificadas ou não verificadas em Java pela palavra-chave throw. É usado principalmente para lançar uma exceção personalizada. Discutiremos exceções personalizadas posteriormente nesta seção.
Também podemos definir nosso próprio conjunto de condições e lançar uma exceção explicitamente usando a palavra-chave throw. Por exemplo, podemos lançar ArithmeticException se dividirmos um número por outro número. Aqui, só precisamos definir a condição e lançar a exceção usando a palavra-chave throw.
A sintaxe da palavra-chave Java throw é fornecida abaixo.
lançar instância, ou seja,
throw new exception_class('error message');
Vamos ver o exemplo de throw IOException.
throw new IOException('sorry device error');
Onde a Instância deve ser do tipo Throwable ou subclasse de Throwable. Por exemplo, Exception é a subclasse de Throwable e as exceções definidas pelo usuário geralmente estendem a classe Exception.
história em java
Exemplo de palavra-chave de lançamento Java
Exemplo 1: lançando exceção não verificada
Neste exemplo, criamos um método chamado validar() que aceita um número inteiro como parâmetro. Se a idade for menor que 18 anos, lançaremos ArithmeticException, caso contrário, imprimiremos uma mensagem de boas-vindas para votar.
TestThrow1.java
Neste exemplo, criamos o método validar que usa um valor inteiro como parâmetro. Se a idade for menor que 18 anos, lançaremos ArithmeticException, caso contrário, imprimiremos uma mensagem de boas-vindas para votar.
public class TestThrow1 { //function to check if person is eligible to vote or not public static void validate(int age) { if(age<18) { throw arithmetic exception if not eligible to vote new arithmeticexception('person is vote'); } else system.out.println('person vote!!'); main method public static void main(string args[]){ calling the function validate(13); system.out.println('rest of code...'); < pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/exception-handling/63/java-throw-exception.webp" alt="Java throw keyword"> <p>The above code throw an unchecked exception. Similarly, we can also throw unchecked and user defined exceptions.</p> <h4>Note: If we throw unchecked exception from a method, it is must to handle the exception or declare in throws clause.</h4> <p>If we throw a checked exception using throw keyword, it is must to handle the exception using catch block or the method must declare it using throws declaration.</p> <h3>Example 2: Throwing Checked Exception</h3> <h4>Note: Every subclass of Error and RuntimeException is an unchecked exception in Java. A checked exception is everything else under the Throwable class.</h4> <p> <strong>TestThrow2.java</strong> </p> <pre> import java.io.*; public class TestThrow2 { //function to check if person is eligible to vote or not public static void method() throws FileNotFoundException { FileReader file = new FileReader('C:\Users\Anurati\Desktop\abc.txt'); BufferedReader fileInput = new BufferedReader(file); throw new FileNotFoundException(); } //main method public static void main(String args[]){ try { method(); } catch (FileNotFoundException e) { e.printStackTrace(); } System.out.println('rest of the code...'); } } </pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/exception-handling/63/java-throw-exception-2.webp" alt="Java throw keyword"> <h3>Example 3: Throwing User-defined Exception</h3> exception is everything else under the Throwable class. <p> <strong>TestThrow3.java</strong> </p> <pre> // class represents user-defined exception class UserDefinedException extends Exception { public UserDefinedException(String str) { // Calling constructor of parent Exception super(str); } } // Class that uses above MyException public class TestThrow3 { public static void main(String args[]) { try { // throw an object of user defined exception throw new UserDefinedException('This is user-defined exception'); } catch (UserDefinedException ude) { System.out.println('Caught the exception'); // Print the message from MyException object System.out.println(ude.getMessage()); } } } </pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/exception-handling/63/java-throw-exception-3.webp" alt="Java throw keyword"> <hr></18)>
Saída:
Exemplo 3: lançando exceção definida pelo usuário
exceção é todo o resto da classe Throwable.TestThrow3.java
// class represents user-defined exception class UserDefinedException extends Exception { public UserDefinedException(String str) { // Calling constructor of parent Exception super(str); } } // Class that uses above MyException public class TestThrow3 { public static void main(String args[]) { try { // throw an object of user defined exception throw new UserDefinedException('This is user-defined exception'); } catch (UserDefinedException ude) { System.out.println('Caught the exception'); // Print the message from MyException object System.out.println(ude.getMessage()); } } }
Saída:
18)>