Exceções em C através de try-throw-catch
Publicado por Marcelo A. B. Slomp 29/04/2009
[ Hits: 15.959 ]
Baseado em uma questão de um usuário do VOL, segue uma implementação para tratamento de exceções em C através da construção de estamentos try-throw-catch.
O tópico original pode ser visto em: http://www.vivaolinux.com.br/topico/C-C++/C-e-Java
/* arquivo: trycatch.h descrição: simples implementação c para estamentos try-throw-catch autor: Marcelo A. B. Slomp */ #ifndef _TRYCATCH_H_ #define _TRYCATCH_H_ #include <setjmp.h> #define try jmp_buf jmp; switch(setjmp(jmp)){case 0: #define catch(e) break;case e: #define throw(e) longjmp(jmp,e) #endif /* _TRYCATCH_H_ */ ================================================ ================================================ /* arquivo: testetry.c descrição: demonstração para trycatch.h autor: Marcelo A. B. Slomp */ #include <stdio.h> #include "trycatch.h" #define EXCECAO 1001 int main(int argc, char** argv) { try { printf("Disparando exceção\n"); throw(EXCECAO); printf("Essa linha nao será executada"); } catch(EXCECAO) { printf("Exceção tratada\n"); } } return 0; }
CPU e memória em C no GNU/Linux
Calcular dia da semana a partir de uma data sugerida
Nenhum comentário foi encontrado.
Pra quem contribui com artigos e dicas (0)
Arch Linux - Guia para Iniciantes (5)
tux-gpt - Assistente de IA para o Terminal
Instalação e configuração do Chrony
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
O Que Fazer Após Instalar Ubuntu 25.04
O Que Fazer Após Instalar Fedora 42
Debian 12 -- Errata - Correções de segurança
Instalando o Pi-Hole versão v5.18.4 depois do lançamento da versão v6.0
Pra quem contribui com artigos e dicas (0)
Monitor fora de escala ao bootar sistema (9)
NAT LoopBack - Hairpin NAT (2)
Alguém poderia me ajudar a escolher peças pra montar um desktop? (18)