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"); |