Exceções em C através de try-throw-catch
Publicado por Marcelo A. B. Slomp 29/04/2009
[ Hits: 16.274 ]
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;
}
Validar CPF em C++ (esse funciona)
Binário para Decimal, Hexa, Char
Manipulando argumentos com getopt_long
Nenhum comentário foi encontrado.
Instalação Completa e Configuração Básica do Void Linux
A Fundação da Confiança Digital: A Importância Estratégica de uma PKI CA na Segurança de Dados
Como enviar dicas ou artigos para o Viva o Linux
Como Ativar a Aceleração por GPU (ROCm) no Ollama para AMD Navi 10 (RX 5700 XT / 5600) no Gentoo
Samba 4 AD-DC 2026: Backup & Restore
Samba 4 AD-DC 2026: LAPS (Randomizando senhas locais).
Cairo Dock ainda funcional nos dias de hoje
Configuração de IP fixo via nmcli e resolução de nomes via /etc/hosts no Gentoo
Vulkan Gaming no Slackware (0)
trocar cor icones gnome debian (0)
Crontab não executa algumas tarefas (3)









