Na linguagem C#, a estrutura correta para código de tratamento de erros de execução é caracterizada como:
- A)try { // Código aqui } on error (Exception e) { // Código aqui } finally { // Código aqui }
Errada, porque C# nao usa "on error" e a estrutura apresentada mistura comandos inexistentes na linguagem.
- B)try { // Código aqui } on error (Exception e){ // Código aqui }exit { // Código aqui }
Errada, porque "on error" e "exit" nao fazem parte da sintaxe de tratamento de excecoes em C#.
- C)try { // Código aqui } catch (Exception e) { // Código aqui } end
Errada, porque embora tenha try e catch, o encerramento com "end" nao é usado em C# para esse bloco.
- D)debug{ // Código aqui } catch (Exception e) { // Código aqui } end { // Código aqui }
Errada, porque "debug" nao inicia tratamento de excecoes e a estrutura apresentada nao corresponde ao padrao da linguagem.
- E)try { // Código aqui } catch (Exception e){ // Código aqui } finally { // Código aqui }
Certa, porque reproduz a forma correta do tratamento de excecoes em C#: try, catch e finally.
Gabarito: E
Em C#, o tratamento de exceções segue a estrutura clássica do bloco try-catch-finally. O bloco try envolve o trecho que pode falhar, o catch captura a exceção quando ela ocorre, e o finally é executado quase sempre ao final, haja ou nao erro, para limpeza ou encerramento de recursos. É a famosa rotina de segurança do código: se der problema, você trata; se nao der, segue a vida; no fim, arruma a casa. A alternativa E esta correta porque usa exatamente a sintaxe da linguagem C#: try { ... } catch (Exception e) { ... } finally { ... }. O catch recebe a excecao do tipo Exception e, e o finally aparece para garantir a execucao do bloco final, como fechamento de arquivo, conexao ou liberacao de memoria gerenciada indiretamente. As demais alternativas inventam estruturas que nao existem em C#. Em linguagem de concurso, isso é importante porque a banca gosta de trocar o nome do bloco ou misturar palavras de outras linguagens. Em C#, nao existe "on error", nem "end" para fechar esse tipo de estrutura. A sintaxe correta é padronizada e muito cobrada em questoes conceituais. Como referencia doutrinaria, a ideia central em C# é o tratamento de excecoes com try-catch-finally, conforme a sintaxe oficial da linguagem. O ponto-chave para voce memorizar é: try tenta, catch trata, finally encerra.