Exceções em C através de try-throw-catch
Publicado por Marcelo A. B. Slomp 29/04/2009
[ Hits: 16.214 ]
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;
}
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Conky, alerta de temperatura alta (10)
Assisti Avatar 3: Fogo e Cinzas (3)
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (42)









