Exceções em C através de try-throw-catch
Publicado por Marcelo A. B. Slomp 29/04/2009
[ Hits: 16.160 ]
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;
}
Simulador do Sorteio da Mega Sena
utilities_linux.h - Biblioteca com diversas funções para o Linux
Nenhum comentário foi encontrado.
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Erro ao tentar ativar o secure boot no arch (0)
É normal não gostar de KDE? (15)
Erro ao instalar programa, "você tem pacotes retidos quebrados&qu... (13)









