chiark / gitweb /
Test universal hashing and fix bugs.
[mLib] / exctest.c
1 #include <stdio.h>
2 #include "exc.h"
3
4 void func(void)
5 {
6   printf("cabbage\n");
7   TRY {
8     printf("dibble\n");
9     THROW(EXC_FAIL, "excession");
10     printf("can't see me\n");
11   } CATCH switch (exc_type) {
12     case 1:
13       printf("exc type 1 (not possible)\n");
14       break;
15     case EXC_FAIL:
16       printf("exc type 2 (%s)\n", exc_s);
17       break;
18     default:
19       RETHROW;
20   } END_TRY;
21
22   printf("fennel\n");
23   THROW(EXC_ERRNO, 53);
24 }
25
26 int main(void)
27 {
28   printf("apple\n");
29   TRY {
30     printf("banana\n");
31     func();
32     printf("can't see me\n");
33   } CATCH switch (exc_type) {
34     default:
35       printf("%lu exception (val = %i)\n", exc_type, exc_i);
36       break;
37   } END_TRY;
38   printf("hello! __exc_list = %p\n", __exc_list);
39
40   return (0);
41 }