Exceções em C através de try-throw-catch
Publicado por Marcelo A. B. Slomp 29/04/2009
[ Hits: 15.486 ]
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; }
programa para solucionar problemas com triangulos
Preloader.c - Adaptação do Tarik Ahmad (Thiago Alexandre) para linux
Nenhum comentário foi encontrado.
Instalação do Ambiente .NET (#C) no Slackware 15.0
Kali On The Box - Colocando o Kali para rodar no Raspberry Pi
Como contribuir com a atualização de pacotes no Void Linux
Colocar dispositivo móvel Samsung em modo Download pela linha de comando
Instalando Slackware com btrfs
Mover cenario para cima - c (3)
System Halted - ao desligar o computador (6)
Pacotes quebrados com apt, não resolve com --fix-broken install (3)
A regex a seguir está correta mas não funciona nem no egrep nem no awk... (3)