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

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

[ Hits: 15.725 ]

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

Funções matemáticas

Sequência de Fibonacci em C

Faixa salarial de funcionários

Cara ou Coroa

Máquina virtual


  

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