Exceções em C através de try-throw-catch
Publicado por Marcelo A. B. Slomp 29/04/2009
[ Hits: 16.112 ]
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; }
Teste de desempenho com números primos em C
Nenhum comentário foi encontrado.
Desktop Linux ganha fôlego enquanto distros refinam experiência e segurança
Wayland em alta, IA em debate e novos ventos para distros e devices
Qt 6.10 e Python 3.14 puxam o ritmo do software livre nesta quarta
Atualizações de Apps, Desktop e Kernel agitam o ecossistema Linux nesta terça-feira
Como mudar o nome de dispositivos Bluetooth via linha de comando
Adicionando o repositório backports no Debian 13 Trixie
Meu Amigo não consegue entrar em meu mundo, via tailscale, hamachi e z... (1)
Erro ao fazer remaster usando Penguin eggs (1)
Warcraft II Remastered no Linux? (0)
queria saber como instalar o android power tools igual ao winux no lin... (7)