X-Git-Url: http://git.harvie.cz/?p=svn%2FCll1h%2F.git;a=blobdiff_plain;f=demos%2Fexceptions%2Fexceptions.c;fp=demos%2Fexceptions%2Fexceptions.c;h=de072158aaf277b377d4d3a98c073e5989eee2f8;hp=0000000000000000000000000000000000000000;hb=7e4d757514e0d9904d6b31b5a08760eff306a9f2;hpb=3f49056d3d4121eff6a0777c7b24c13c54fc0953 diff --git a/demos/exceptions/exceptions.c b/demos/exceptions/exceptions.c new file mode 100644 index 0000000..de07215 --- /dev/null +++ b/demos/exceptions/exceptions.c @@ -0,0 +1,58 @@ +#include "cll1.h" + +void pokus(int i) +{ + if(i==2) + { + fail(666); + } + if(i==7) + { + pokus(2); + } + if(i==6) + { + fail(0); + } + printf("nuda #%d\n",i); +} + +program +{ + try + { + pokus(1); + pokus(2); + pokus(6); + pokus(7); + } + else_switch_exceptions + { + case 666: puts("chyba 666"); break; + default : puts("sorry, vole, error!"); + } + + try + { + pokus(1); + pokus(3); + pokus(6); + pokus(2); + pokus(7); + } + else_switch_exceptions + { + case 666: puts("chyba 666"); break; + default : puts("sorry, vole, error!"); + } + + try + { + pokus(1); + pokus(7); + } + else_catch_exception(666) + { + puts("tak, a basta."); + } +}