[C con Clase] Macro para gestionar errores

vicente lozano vicentelozano en gmail.com
Mie Mar 4 16:54:46 CET 2009


Ok, gracias por contestar.

El porque define es porque vengo de C y aun no habia llegado a las
constantes jeje.

perror y sterror no las conocia aun, pero aun asi es para gestionar mis
propios errores en las funciones.

Por otro lado, para que los mensajes de error puedan ser en diferentes
idiomas existe algo o hay que hacerlo asi?

Gracias y perdonar por mi desconocimiento de las librerias, me pasa mucho lo
de pensar algo, ponerme a hacerlo y luego descubrir que existe alguna
funcion de libreria que podia haber usado. Espero que el capitulo de
librerias me ayude a solucionar ese "problemilla"

On Wed, Mar 4, 2009 at 4:43 PM, Programante <programante en gmail.com> wrote:

> vicente lozano escribió:
> > Hola! Bueno me presento, soy Vicente, llevo un tiempo programando en C
> > y estoy haciendo el curso para aprender tambien C++.
> >
> > Ahora mismo estoy intentando hacer una macro como esta:
> >
> > /...
> > //definicion de Constante con las cadenas de error/
> > *#define ERRORS = {"Opening file", "Writing file", " Creating
> > Socket",...}*
> > /..../
> > ///definicion de macro/
> > *#define check ( cond, errn )  if ( -1==cond ) { fprintf(stderr,
> > "ERROR: %s.\n", ERRORS[errn]); return -1 ;}*
> > /....
> > //uso en el codigo/
> > *check( fopen(...) , 0 );*
> >
> > La macro en si misma funciona pero no se como definir el array ERRORS
> > con un define, no se si se podra o si sabeis alguna forma mejor de
> > hacer lo que pretendo.
> >
> > Bueno saludos y gracias por adelantado.
> ¿Por qué con un #define? Eso lo harías con una variable:
> const char* ERRORS[] = {"Opening file", "Writing file", " Creating
> Socket",...}
>
> Pero si lo que quieres es buscar errores en funciones 'normales' (con lo
> que mirarías errno), utiliza perror() (o strerror() si quieres algo más
> de control*). Por otro lado, ten cuidado con valores fuera de rango.
>
>
> *
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20090304/08533350/attachment.html>


Más información sobre la lista de distribución Cconclase