Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bloco try catch #7

Open
joaonunodev opened this issue Jan 24, 2022 · 1 comment
Open

bloco try catch #7

joaonunodev opened this issue Jan 24, 2022 · 1 comment

Comments

@joaonunodev
Copy link

Olá Camila,
Parabéns pelos seus cursos e acho que os videos ficam melhor sem a imagem do instrutor uma vez que a mesma pode ficar em cima de parte do código e atrapalhar visualização do mesmo.

Relativamente ao bloco try/catch aparcebi-me que ao definir uma variável dentro do try depois não consigo utilizar a mesma fora do bloco, como exemplo:

try {
div = n1/n2;
System.out.println(div);
} catch (ArithmeticException e) {
System.out.println("Não é possível dividir por zero");
e.printStackTrace();
}
outraOperacaoMatematica = div + 2; //não se consegue utilizar aqui o resultado de div

Há alguma forma de ultrapassar este problema ou tem que se escrever código todo dentro do bloco se formos utilizar uma variável que esteja dentro do try?

Desde já obrigado.

@cami-la
Copy link
Owner

cami-la commented Jan 24, 2022

Olá, boa tarde!!

import java.util.*;

public class Main {
  public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    
    //Caso você queria utilizar essa variável div fora do bloco, precisa declarar ela fora primeiro.
    int div = 0;  (Escopo global)
    try {
      //n1 só pode ser acessada dentro desse bloco try, já que declarada aqui dentro. (Escopo bloco)
      int n1 = scan.nextInt(); //(Escopo bloco)
      //n2 só pode ser acessada dentro desse bloco try, já que declarada aqui dentro.  (Escopo bloco)
      int n2 = scan.nextInt(); //(Escopo bloco)
      
      div = n1 / n2;
      System.out.println(div);
    } catch (ArithmeticException e) {
      System.out.println("Não é possível dividir por zero");
      e.printStackTrace();
    }
    
    double outraOperacaoMatematica = div + 2;
    System.out.println(outraOperacaoMatematica);

  }

}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants