|
|
| version 1.1, 2001/01/30 11:51:07 | version 1.3, 2001/01/30 13:43:43 |
|---|---|
| Line 8 | Line 8 |
| #include "pa_exception.h" | #include "pa_exception.h" |
| #include "pa_common.h" | #include "pa_common.h" |
| Exception::Exception() : | |
| ftype(0), | |
| fcode(0), | |
| fproblem_source(0), | |
| fcomment("") { | |
| } | |
| void Exception::die(char *acomment) { | |
| // FIX: log(LOG_ERROR, acomment) | |
| fprintf(stderr, "die: %s\n", acomment); | |
| exit(1); | |
| } | |
| void Exception::raise(const String *atype, const String *acode, | void Exception::raise(const String *atype, const String *acode, |
| const String *aproblem_source, | const String *aproblem_source, |
| const char *comment_fmt, ...) { | const char *comment_fmt, ...) { |
| ftype=atype; | ftype=atype; |
| fcode=acode; | fcode=acode; |
| fproblem_source=aproblem_source; | fproblem_source=aproblem_source; |
| va_list args; | if(comment_fmt) { |
| va_start(args, comment_fmt); | va_list args; |
| vsnprintf(fcomment, MAX_STRING, comment_fmt, args); | va_start(args, comment_fmt); |
| va_end(args); | vsnprintf(fcomment, MAX_STRING, comment_fmt, args); |
| va_end(args); | |
| } else | |
| fcomment[0]=0; | |
| longjmp(mark, 1); | longjmp(mark, 1); |
| } | } |