Exceções em C através de try-throw-catch

Publicado por Marcelo A. B. Slomp 29/04/2009

[ Hits: 15.705 ]

Download trycatch.tar.gz




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

  



Esconder código-fonte

/*
   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;
}

Scripts recomendados

Ponteiros

Múltiplos de bit e byte

Decomposição em fatores primos

Preloader.c - Adaptação do Tarik Ahmad (Thiago Alexandre) para linux

Inverte string usando NCURSES


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts