1
resposta

Possível erro no exemplo

Na atividade 5 da aula 3: Criando Exceções Personalizadas são postos exemplos sobre checagem obrigatória porém os dois são idênticos ao meu ver (fora o texto comentado).

1 resposta

Sim, os exemplos de código estão idênticos, mas o comportamento descrito é diferente. O trecho de código acima, mostra o código sem checagem obrigatória, na parte debaixo mostra o mesmo código porem com a anotacao "Erro! É necessário circundar a linha com try", mas entendi o seu ponto, nao ficou muito claro né ? A parte da Checagem Obrigatória ficaria assim :

void playMusic(file pathMusic){
    if (pathMusic.exists){
        // Toca a música
    }else{
        throw PathNotExistsException();
    }
}

void main() {
  try {
    playMusic('some/path/to/music');
  } catch (PathNotExistsException e) {
    // Lida com a exceção
  }
}