Exemplo n.º 1
0
void ajMessOutCode(const char *code)
{
    char *mess=0;

    if(messErrorTable)
    {
	mess = ajTableFetch(messErrorTable, code);

	if(mess)
	    ajMessOut(mess);
	else
	    ajMessOut("could not find error code %s",code);
    }
    else
    {
	if(ajMessReadErrorFile())
	{
	    mess = ajTableFetch(messErrorTable, code);

	    if(mess)
		ajMessOut(mess);
	    else
		ajMessOut("could not find error code %s",code);
	}
	else
	    ajMessOut("Could not read the error file hence no reference to %s",
		      code);
    }

    return;
}
Exemplo n.º 2
0
__noreturn void  ajExceptRaise(const T* e, const char* file,
		   ajint line)
{
    Except_Frame *p;

    p = Except_stack;
    
    assert(e);

    if(p == NULL)
    {
	ajMessOut("Uncaught exception: ");

	if(e->reason)
	    ajMessOut(" %s,", e->reason);
	else
	    ajMessOut(" at 0x%p,", e);

	if(file && line > 0)
	    ajMessOut(" raised at %s:%d\n", file, line);

        ajUtilCatch();
	exit(EXIT_FAILURE);
    }

    p->exception = e;
    p->file      = file;
    p->line      = line;
    Except_stack = Except_stack->prev;

    longjmp(p->env, Except_raised);
}