Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Aula 10 Manipulação de Exceções
Universidade do Vale do Rio dos Sinos Aula 10 Manipulação de Exceções < Página da Disciplina > <Endereço do Professor >
2
Sumário 1 – Introdução à manipulação de exceções
3
Sumário 1 – Introdução à manipulação de exceções
2 – Questões de projeto
4
Sumário 1 – Introdução à manipulação de exceções
2 – Questões de projeto 3 – Manipulação de exceções em PL/I
5
Sumário 1 – Introdução à manipulação de exceções
2 – Questões de projeto 3 – Manipulação de exceções em PL/I 4 – Manipulação de exceções em Ada
6
Sumário 1 – Introdução à manipulação de exceções
2 – Questões de projeto 3 – Manipulação de exceções em PL/I 4 – Manipulação de exceções em Ada 5 – Manipulação de exceções em C++
7
Sumário 1 – Introdução à manipulação de exceções
2 – Questões de projeto 3 – Manipulação de exceções em PL/I 4 – Manipulação de exceções em Ada 5 – Manipulação de exceções em C++ 6 – Manipulação de exceções em Java
8
Sumário 1 – Introdução à manipulação de exceções
2 – Questões de projeto 3 – Manipulação de exceções em PL/I 4 – Manipulação de exceções em Ada 5 – Manipulação de exceções em C++ 6 – Manipulação de exceções em Java 7 – Exceções em Mobilidade: Holo
9
Sumário 1 – Introdução à manipulação de exceções
- Tratamento de exceções via interrupções
10
Sumário 1 – Introdução à manipulação de exceções
- Tratamento de exceções via interrupções - Entrada/saída - READ do Pascal - Diretiva de compilação {$I} do Pascal
11
Sumário 1 – Introdução à manipulação de exceções
- Tratamento de exceções via interrupções - Entrada/saída - READ do Pascal - Diretiva de compilação {$I} do Pascal - Erros de faixa de subscrito
12
Sumário 1 – Introdução à manipulação de exceções
- Tratamento de exceções via interrupções - Entrada/saída - READ do Pascal - Diretiva de compilação {$I} do Pascal - Erros de faixa de subscrito - Tratamento de exceções adiciona complexidade à linguagem
13
Sumário 1 – Introdução à manipulação de exceções
- Tratamento de exceções via interrupções - Entrada/saída - READ do Pascal - Diretiva de compilação {$I} do Pascal - Erros de faixa de subscrito - Tratamento de exceções adiciona complexidade à linguagem - Manipulação de exceção => Manipulador
14
Sumário 1 – Introdução à manipulação de exceções
- Tratamento de exceções via interrupções - Entrada/saída - READ do Pascal - Diretiva de compilação {$I} do Pascal - Erros de faixa de subscrito - Tratamento de exceções adiciona complexidade à linguagem - Manipulação de exceção => Manipulador - Vantagens da manipulação de exceções: separa o código de exceções, organiza hierar- quicamente e incorpora na linguagem
15
Sumário 1 – Introdução à manipulação de exceções
2 – Questões de projeto 1) Forma dos manipuladores de exceção?
16
Sumário 1 – Introdução à manipulação de exceções
2 – Questões de projeto 1) Forma dos manipuladores de exceção? 2) Vínculo entre exceção e manipulador? - Como gerenciar vários pontos de manipulação de exceção? - Como tratar propagação de exceções?
17
Sumário 1 – Introdução à manipulação de exceções
2 – Questões de projeto 1) Forma dos manipuladores de exceção? 2) Vínculo entre exceção e manipulador? - Como gerenciar vários pontos de manipulação de exceção? - Como tratar propagação de exceções? 3) Vinculação exceção/manipulação estática ou dinâmica?
18
Sumário 1 – Introdução à manipulação de exceções
2 – Questões de projeto 1) Forma dos manipuladores de exceção? 2) Vínculo entre exceção e manipulador? - Como gerenciar vários pontos de manipulação de exceção? - Como tratar propagação de exceções? 3) Vinculação exceção/manipulação estática ou dinâmica? 4) Como tratar a continuação?
19
Sumário 1 – Introdução à manipulação de exceções
2 – Questões de projeto 1) Forma dos manipuladores de exceção? 2) Vínculo entre exceção e manipulador? - Como gerenciar vários pontos de manipulação de exceção? - Como tratar propagação de exceções? 3) Vinculação exceção/manipulação estática ou dinâmica? 4) Como tratar a continuação? 5) Como o usuário define novas exceções?
20
Sumário 1 – Introdução à manipulação de exceções
2 – Questões de projeto 3 – Manipulação de exceções em PL/I - Primeiros mecanismos em uma linguagem - Manipuladores: Blocos de comandos (ON ...) - Continuação: Várias abordagens - Escopo dinâmico do manipulador
21
Sumário 1 – Introdução à manipulação de exceções
2 – Questões de projeto 3 – Manipulação de exceções em PL/I 4 – Manipulação de exceções em Ada - Manipuladores: Cláusula EXCEPTION/WHEN Escopo local. Inserido no final do bloco - Escopo dinâmico exceção/manipulador - Continuação: execução continua após bloco de manipulação EXCEPTION
22
Sumário 1 – Introdução à manipulação de exceções
2 – Questões de projeto 3 – Manipulação de exceções em PL/I 4 – Manipulação de exceções em Ada 5 – Manipulação de exceções em C++ - Padronização em 1990 - Manipulador: TRY / CATCH - Escopo dinâmico para exceção/manipulador - Continuação: Continua após o TRY - Após exceção, variáveis stack-dinâmicas e heap-dinâmicas definidas no TRY, são perdidas
23
Sumário 1 – Introdução à manipulação de exceções
2 – Questões de projeto 3 – Manipulação de exceções em PL/I 4 – Manipulação de exceções em Ada 5 – Manipulação de exceções em C++ 6 – Manipulação de exceções em Java - Baseada no C++, com maior enfoque O. O. - Classes de exceções (objetos): Classe Throwable - Manipulador: TRY/CATCH semelhante a C++ - Busca do CATCH compatível com objeto do THROW - Continuação: Semelhante ao do C++ (após o TRY) - Exceções verificadas e não verificadas (cláusula THROWS) - Cláusula FINALLY: sempre executada após o bloco TRY
24
Sumário 1 – Introdução à manipulação de exceções
2 – Questões de projeto 3 – Manipulação de exceções em PL/I 4 – Manipulação de exceções em Ada 5 – Manipulação de exceções em C++ 6 – Manipulação de exceções em Java 7 – Exceções em Mobilidade: Holo - Exceções relacionadas com mobilidade - Holo não trata exceções ainda - Que suporte deve ser inserido? - Quais exceções devem ser tratadas?
25
Exemplo de exceções em Holo
1) Comando CLONE clone(<ente 1>, <ente 2>) OBSERVAÇÕES: - Não existe <ente 1> - Já existe <ente 2>
26
Exemplo de exceções em Holo
2) Comando MOVE move(<ente 1>, <ente 2>) OBSERVAÇÕES: - Não existe <ente 1> - Não existe <ente 2> - Existe outro ente com o mesmo nome de <ente 1> no interior de <ente 2> - Aspectos de segurança (autorização para mobilidade?) - Aspectos de corretude (algo pendente no ambiente?)
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.