Exceções em C através de try-throw-catch
Publicado por Marcelo A. B. Slomp 29/04/2009
[ Hits: 16.072 ]
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; }
Lista Duplamente Encadeada em C
Nenhum coment�rio foi encontrado.
O que é o THP na configuração de RAM do Linux e quando desabilitá-lo
Comparação entre os escalonadores BFQ e MQ-Deadline (acesso a disco) no Arch e Debian
Conciliando o uso da ZRAM e SWAP em disco na sua máquina
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Como unir duas coleções de ROMs preservando as versões traduzidas (sem duplicatas)
Como instalar o Telegram Desktop no Ubuntu 24.04
Overclocking Permanente para Drastic no Miyoo Mini Plus
Problemas de chaves (/usr/share/keyrings) no Debian
Converter os repositórios Debian para o novo formato com as chaves
Browser/Placa de vídeo trava Ubuntu 22.04 (1)
Salvar estado da VM no virt-manager [RESOLVIDO] (5)