Exceção

Uma exceção (abreviação de "evento excepcional") é um erro ou evento inesperado que acontece enquanto um programa está sendo executado. Quando ocorre uma exceção, ela interrompe o fluxo do programa. Se o programa puder lidar com a exceção e processá-la, ele poderá continuar sendo executado. Se uma exceção não for tratada, o programa poderá ser forçado a ser encerrado.

Várias linguagens de programação oferecem suporte a exceções, embora elas sejam usadas de maneiras diferentes. Por exemplo, as exceções são uma parte integral da linguagem Java e costumam ser usadas para controlar o fluxo de um programa. Java inclui uma Exception classe, que tem dezenas de subclasses, como TimeoutException, UserException e IOException. Subclasses como IOException contêm exceções mais específicas, como FileNotFoundException e CharacterCodingException, que podem ser "lançadas" se um arquivo não for encontrado ou se a codificação de caracteres de uma string não for reconhecida.

Outras linguagens usam exceções apenas para capturar erros fundamentais em tempo de execução, como falhas na alocação de memória ou erros no nível do sistema. Por exemplo, um programa em C++ pode lançar a exceção bad_alloc quando não é possível alocar memória e a exceção system_error quando o sistema operacional produz um erro.

Tratamento de exceções

Um programa de computador bem escrito verifica se há exceções e as trata adequadamente. Isso significa que o desenvolvedor deve verificar quais exceções podem ocorrer e escrever código para processá-las. Se um programa tratar bem as exceções, erros inesperados poderão ser detectados e gerenciados sem que o programa sofra um travamento.

As exceções são "lançadas" quando ocorrem e são "capturadas" por outro código do programa. Elas podem ser lançadas explicitamente usando a instrução throw ou implicitamente dentro de uma cláusula try. A seguir, há um exemplo de sintaxe de "try / catch" em Java. O código a seguir tenta dividir por zero, mas lança uma exceção ArithmeticException e retorna 0 como resultado.

 1. int a = 11;
 2. int b = 0;
 3. int result = 0;
 4. try {
 5.   int c = a / b;
 6.   result = c;
 7. } catch(ArithmeticException ex) {
 8.   result = 0;
 9. }
10. return result;

Uma exceção é lançada na linha 5 (quando 11 é dividido por 0), portanto o restante da instrução try (linha 6) não é executado. Em vez disso, a exceção é capturada na linha 7 e um resultado de 0 é retornado.

Atualizado May 6, 2017 por Per C.

quizTeste seus conhecimentos

A DTD defines the structure, elements, and attributes of what type of document?

A
DOCX
0%
B
XLSX
0%
C
ZIPX
0%
D
XML
0%
Correct! Incorrect!     View the DTD definition.
More Quizzes →

O dicionário de informática Tech Terms

A definição de Exceção nesta página é uma definição original escrita pelos autores do TechTerms.com. Se você quiser fazer referência a esta página ou citar esta definição, use a barra de citação verde logo abaixo da definição.

Nosso objetivo é explicar a terminologia de informática de um jeito fácil de entender. Buscamos precisão e clareza em cada definição que publicamos. Se você tiver comentários sobre esta definição ou quiser sugerir um novo termo técnico, entre em contato.

A newsletter do Tech Terms

Amplie seus conhecimentos técnicos com nossa newsletter diária ou semanal! Assine hoje e receba novos termos e quizzes na sua caixa de entrada.

Assine a newsletter gratuita do TechTerms

Com que frequência você gostaria de receber um e-mail?

Você pode cancelar a assinatura ou alterar a frequência a qualquer momento usando os links disponíveis em cada e-mail. Dúvidas? Entre em contato.

Observação: a newsletter é enviada em inglês.