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).
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).
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
}
}