Exceções em C através de try-throw-catch
Publicado por Marcelo A. B. Slomp 29/04/2009
[ Hits: 16.298 ]
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;
}
programa para solucionar problemas com triangulos
Conhecendo atributos do Ncurses
Algorítmo para Calcular Raiz Quadrada
Programa para cálculo de números complexos
Nenhum comentário foi encontrado.
Instalar e Configurar a santíssima trindade (PAP) no Void Linux
O Editor de Texto Nano: Simplicidade no Terminal
SynapSeq - programa para estimular as ondas cerebrais
Por que seu __DIR__ falhou ou o "inferno" dos caminhos no PHP
[Resolvido] Meu monitor suporta 100fps. Por que o máximo é 60fps nos jogos?
Jogando "Magic" gratuitamente no Linux
Zoxide e fzf no bash para incrementar o uso do Terminal
[pedido] biglinux versao 1 (0)
A falsa sensação de que entende a tal da palavra! (1)
Eu aprendi o segredo das artes! hahaha (5)









