errors.c File Reference

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "arithmetique.h"

Go to the source code of this file.

Classes

struct  linear_exception_holder

Defines

#define FALSE   0
#define TRUE   1
#define MAX_STACKED_CONTEXTS   64
#define exception_debug_message(type)
#define exception_debug_trace(type)   if (linear_exception_debug_mode) { exception_debug_message(type); }
#define same_string_p(s1, s2)   (strcmp((s1),(s2))==0)

Typedefs

typedef int boolean

Functions

const char * get_exception_name (unsigned int exception)
void set_exception_callbacks (exception_callback_t push, exception_callback_t pop)
void dump_exception_stack_to_file (FILE *f)
void dump_exception_stack ()
jmp_buf * push_exception_on_stack (int what, const char *function, const char *file, int line)
void pop_exception_from_stack (int what, const char *function, const char *file, int line)
void throw_exception (int what, const char *function, const char *file, int line)
void linear_initialize_exception_stack (unsigned int verbose_exceptions, exception_callback_t push, exception_callback_t pop)

Variables

unsigned int overflow_error = 1
unsigned int simplex_arithmetic_error = 2
unsigned int user_exception_error = 4
unsigned int parser_exception_error = 8
unsigned int timeout_error = 16
unsigned int any_exception_error = ~0
unsigned int the_last_just_thrown_exception = 0
static int linear_exception_debug_mode = FALSE
static unsigned int linear_exception_verbose = 1 | 2 | 16
static linear_exception_holder exception_stack [MAX_STACKED_CONTEXTS]
static int exception_index = 0
static exception_callback_t push_callback = NULL
static exception_callback_t pop_callback = NULL
int linear_number_of_exception_thrown = 0

Define Documentation

#define exception_debug_message ( type   ) 
Value:
fprintf(stderr, "%s[%s:%d %s (%d)/%d]\n",                         \
            type, file, line, function, what, exception_index)

Definition at line 238 of file errors.c.

Referenced by pop_exception_from_stack(), push_exception_on_stack(), and throw_exception().

#define exception_debug_trace ( type   )     if (linear_exception_debug_mode) { exception_debug_message(type); }

Definition at line 242 of file errors.c.

Referenced by pop_exception_from_stack(), push_exception_on_stack(), and throw_exception().

#define FALSE   0

Definition at line 130 of file errors.c.

#define MAX_STACKED_CONTEXTS   64

Definition at line 187 of file errors.c.

Referenced by push_exception_on_stack().

#define same_string_p ( s1,
s2   )     (strcmp((s1),(s2))==0)

Definition at line 278 of file errors.c.

Referenced by pop_exception_from_stack().

#define TRUE   1

Definition at line 133 of file errors.c.


Typedef Documentation

typedef int boolean

Definition at line 127 of file errors.c.


Function Documentation

void dump_exception_stack ( void   ) 
void dump_exception_stack_to_file ( FILE *  f  ) 

Definition at line 216 of file errors.c.

References exception_index.

Referenced by dump_exception_stack().

const char* get_exception_name ( unsigned int  exception  ) 
void linear_initialize_exception_stack ( unsigned int  verbose_exceptions,
exception_callback_t  push,
exception_callback_t  pop 
)

Definition at line 384 of file errors.c.

References linear_exception_verbose, and set_exception_callbacks().

void pop_exception_from_stack ( int  what,
const char *  function,
const char *  file,
int  line 
)
jmp_buf* push_exception_on_stack ( int  what,
const char *  function,
const char *  file,
int  line 
)
void set_exception_callbacks ( exception_callback_t  push,
exception_callback_t  pop 
)

Definition at line 196 of file errors.c.

References pop_callback, and push_callback.

Referenced by linear_initialize_exception_stack().

void throw_exception ( int  what,
const char *  function,
const char *  file,
int  line 
)

Variable Documentation

unsigned int any_exception_error = ~0
int exception_index = 0 [static]
linear_exception_holder exception_stack[MAX_STACKED_CONTEXTS] [static]

Definition at line 188 of file errors.c.

int linear_exception_debug_mode = FALSE [static]

Definition at line 160 of file errors.c.

Referenced by throw_exception().

unsigned int linear_exception_verbose = 1 | 2 | 16 [static]

Definition at line 161 of file errors.c.

Referenced by linear_initialize_exception_stack(), and throw_exception().

Definition at line 212 of file errors.c.

Referenced by throw_exception().

unsigned int overflow_error = 1
unsigned int parser_exception_error = 8

Definition at line 112 of file errors.c.

Referenced by get_exception_name().

Definition at line 194 of file errors.c.

Referenced by pop_exception_from_stack(), set_exception_callbacks(), and throw_exception().

Definition at line 193 of file errors.c.

Referenced by push_exception_on_stack(), and set_exception_callbacks().

unsigned int simplex_arithmetic_error = 2

Definition at line 110 of file errors.c.

Referenced by get_exception_name().

Definition at line 156 of file errors.c.

Referenced by pop_exception_from_stack(), push_exception_on_stack(), and throw_exception().

unsigned int timeout_error = 16

Definition at line 113 of file errors.c.

Referenced by get_exception_name().

unsigned int user_exception_error = 4

Definition at line 111 of file errors.c.

Referenced by get_exception_name().


Generated on Wed Nov 25 17:45:26 2009 for polylib by  doxygen 1.6.1