src/work/klao/error_test.cc
changeset 1120 5d8d64bde9c5
parent 1067 47939f501c81
child 1122 3ce7fc516cca
equal deleted inserted replaced
0:45896e9164a2 1:f167373a26fd
    13 void parse_file(string fn) {
    13 void parse_file(string fn) {
    14   try {
    14   try {
    15     parse_line();
    15     parse_line();
    16   }
    16   }
    17   catch(lemon::DataFormatError &e) {
    17   catch(lemon::DataFormatError &e) {
    18     e.set_file(fn);
    18     e.file(fn);
    19     e.set_line(5);
    19     e.line(5);
    20     throw;
    20     throw;
    21   }
    21   }
    22 }
    22 }
    23 
    23 
    24 void fail_assert();
    24 void fail_assert();
    25 
    25 
    26 int main() {
    26 int main() {
    27   try {
    27   try {
    28     parse_file("input.txt");
    28     parse_file("input.txt");
    29   }
    29   }
       
    30   catch(lemon::Exception &e) {
       
    31     cerr << "Exception '" << e.exceptionName()
       
    32 	 << "' caught: " << endl;
       
    33     cerr << e.what() << endl;
       
    34   }
    30   catch(exception &e) {
    35   catch(exception &e) {
    31     cerr << "Exception caught: " << endl;
    36     cerr << "Exception caught: " << endl;
    32     cerr << e.what() << endl;
    37     cerr << e.what() << endl;
    33   }
    38   }
    34 
    39 
    35   try {
    40   try {
       
    41     throw lemon::LogicError();
       
    42   }
       
    43   catch(lemon::Exception &e) {
       
    44     cerr << "Exception '" << e.exceptionName()
       
    45 	 << "' caught: " << endl;
       
    46     cerr << e.what() << endl;
       
    47   }
       
    48 
       
    49   try {
    36     fail_assert();
    50     fail_assert();
       
    51   }
       
    52   catch(lemon::Exception &e) {
       
    53     cerr << "Exception '" << e.exceptionName()
       
    54 	 << "' caught: " << endl;
       
    55     cerr << e.what() << endl;
    37   }
    56   }
    38   catch(exception &e) {
    57   catch(exception &e) {
    39     cerr << "Exception caught: " << endl;
    58     cerr << "Exception caught: " << endl;
    40     cerr << e.what() << endl;
    59     cerr << e.what() << endl;
    41   }
    60   }
       
    61 
       
    62   cerr << endl;
    42 
    63 
    43   // assert(1==0);
    64   // assert(1==0);
    44   LEMON_ASSERT(1==0, "Ellentmondas");
    65   LEMON_ASSERT(1==0, "Ellentmondas");
    45   LEMON_FIXME("Nincs kesz");
    66   LEMON_FIXME("Nincs kesz");
    46 }
    67 }
    47 
    68 
    48 #undef LEMON_ASSERT_HANDLER
    69 #undef LEMON_ASSERT_HANDLER
    49 #define LEMON_ASSERT_HANDLER ::lemon::assert_fail_throw
    70 #define LEMON_ASSERT_EXCEPTION
    50 
    71 
    51 #include <error.h>
    72 #include <error.h>
    52 
    73 
    53 void fail_assert() {
    74 void fail_assert() {
    54   LEMON_ASSERT(2*2==5, "Marson vagyunk");
    75   LEMON_ASSERT(2*2==5, "Marson vagyunk");