logo

Java lança palavra-chave

O Java lança palavra-chave é usado para declarar uma exceção. Fornece uma informação ao programador de que pode ocorrer uma exceção. Portanto, é melhor para o programador fornecer o código de tratamento de exceções para que o fluxo normal do programa possa ser mantido.

O tratamento de exceções é usado principalmente para lidar com as exceções verificadas. Se ocorrer alguma exceção não verificada, como NullPointerException, é culpa do programador não estar verificando o código antes de usá-lo.

css para negrito

Sintaxe de lançamentos Java

 return_type method_name() throws exception_class_name{ //method code } 

Qual exceção deve ser declarada?

Anos: Apenas exceção verificada, porque:

    exceção não verificada:sob nosso controle para que possamos corrigir nosso código.erro:além do nosso controle. Por exemplo, não podemos fazer nada se ocorrer VirtualMachineError ou StackOverflowError.

Vantagem do Java lança palavra-chave

Agora a exceção verificada pode ser propagada (encaminhada na pilha de chamadas).

Ele fornece informações ao chamador do método sobre a exceção.

Java lança exemplo

Vamos ver o exemplo da cláusula Java throws que descreve que exceções verificadas podem ser propagadas pela palavra-chave throws.

Testthrows1.java

 import java.io.IOException; class Testthrows1{ void m()throws IOException{ throw new IOException('device error');//checked exception } void n()throws IOException{ m(); } void p(){ try{ n(); }catch(Exception e){System.out.println('exception handled');} } public static void main(String args[]){ Testthrows1 obj=new Testthrows1(); obj.p(); System.out.println('normal flow...'); } } 
Teste agora

Saída:

quem criou a escola
 exception handled normal flow... 

Regra: Se estivermos chamando um método que declara uma exceção, devemos capturar ou declarar a exceção.

Existem dois casos:

    Caso 1:Capturamos a exceção, ou seja, tratamos a exceção usando o bloco try/catch.Caso 2:Declaramos a exceção, ou seja, especificamos a palavra-chave throws com o método.

Caso 1: Tratar exceção usando bloco try-catch

Caso tratemos a exceção, o código será executado corretamente, independentemente de a exceção ocorrer durante o programa ou não.

Testthrows2.java

 import java.io.*; class M{ void method()throws IOException{ throw new IOException('device error'); } } public class Testthrows2{ public static void main(String args[]){ try{ M m=new M(); m.method(); }catch(Exception e){System.out.println('exception handled');} System.out.println('normal flow...'); } } 
Teste agora

Saída:

 exception handled normal flow... 

Caso 2: Declarar Exceção

  • Caso declaremos a exceção, se a exceção não ocorrer, o código será executado corretamente.
  • Caso declaremos a exceção e a exceção ocorra, ela será lançada em tempo de execução porque lança não trata a exceção.

Vamos ver exemplos para ambos os cenários.

A) Se a exceção não ocorrer

Testthrows3.java

 import java.io.*; class M{ void method()throws IOException{ System.out.println('device operation performed'); } } class Testthrows3{ public static void main(String args[])throws IOException{//declare exception M m=new M(); m.method(); System.out.println('normal flow...'); } } 
Teste agora

Saída:

contagem mysql
 device operation performed normal flow... 

B) Se ocorrer exceção

Testthrows4.java

 import java.io.*; class M{ void method()throws IOException{ throw new IOException('device error'); } } class Testthrows4{ public static void main(String args[])throws IOException{//declare exception M m=new M(); m.method(); System.out.println('normal flow...'); } } 
Teste agora

Saída:

Palavra-chave de lançamento Java

Diferença entre arremesso e arremesso

Clique em mim para detalhes

Que) Podemos relançar uma exceção?

Sim, lançando a mesma exceção no bloco catch.