1. A fonte da anormalidade.
Na aplicação de Delphi, as situações a seguir têm maior probabilidade de gerar exceções.
(1) Processamento de arquivos
(2) Alocação de memória
(3) Recursos do Windows
(4) Crie objetos e formas durante o tempo de execução
(5) Conflito de hardware e sistema operacional
?
2. Manuseio de exceção.
(1) Tente ... exceto … fim ;
Quando ocorre uma exceção no código no corpo de tentativa, o sistema se transforma em exceto parte para o processamento de exceção. Esta é uma das maneiras mais básicas de Delphi lida com exceções.
?
(2) Tente ... finalmente … fim ;
Essa estrutura de manuseio de exceção é geralmente usada para proteger a alocação de recursos do Windows e outros aspectos.
Ao contrário de tentar ... exceto ... final, a parte finalmente da estrutura é sempre executada.
?
(3) Não há tentativa ... exceto ... Finalmente ... estrutura final para lidar com exceções e proteger as estruturas de alocação de recursos. Finalmente ... estrutura final, percebendo assim o manuseio de exceções.
?
?
3. Manipulação precisa das exceções.
(1) Defina uma exceção.
Em Delphi, cada exceção é uma classe derivada [2] da exceção [1] . Portanto, definir uma exceção está definindo uma classe derivada da classe de exceção.
tipo emyexception = classe (exceção);
Obviamente, a classe base pode ser uma exceção ou qualquer nível de exceção.
?
(2) Jogue uma exceção no programa.
Jogar exceções de acordo com diferentes situações é o modo mais básico de usar exceções. Em Delphi, é implementado pela declaração de aumento .
[Sintaxe] Aumente a Classe Exception.Create ('Descrição padrão da exceção');
?
(3) Catch exceções com mais precisão na tentativa ... exceto ... final.
Use a estrutura da classe E : Exception Do ... para lidar com exceções lançadas por uma classe de exceção específica no corpo DO.
?
4. Depuração da exceção.
No Delphi IDE, desmarque o status de verificação da caixa de seleção de depuração integrada em "Opções do depurador" (você pode usar as ferramentas de menu -> opções de depurador ... para acessá -lo).
?
5. Explicação suplementar de anormalidades.
(1) Todo programa pode produzir erros! Este é um fenômeno e direito inquestionáveis no setor de software. De fato, a estrutura tradicional se ... else ... pode resolver completamente todos os erros.
A resposta é clara: as exceções fornecem uma maneira mais flexível e aberta, permitindo que os programadores posteriores lidem com esse erro com base nas condições reais, em vez de usar os resultados do processamento pré-definido. Na verdade, acho que esse é o núcleo do mecanismo de exceção.
[1] A definição da classe de exceção está na unidade Sysutils.
[2] Delphi também suporta classes de exceção que não herdem da exceção, mas não acho muito aconselhável fazê -lo.