Exceções em C através de try-throw-catch
Publicado por Marcelo A. B. Slomp 29/04/2009
[ Hits: 15.974 ]
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; }
utilities_linux.h - Biblioteca com diversas funções para o Linux
Teste de desempenho com números primos em C (corrigido)
Nenhum comentário foi encontrado.
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
Solução rápida para o problema do Network Manager conectar mas não navegar
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
Erro na atualização dos apps na barra de tarefas (9)
Agora temos uma assistente virtual no fórum!!! (244)