added freeMem argument in safethrow and try, fixed throw_wrongchar

This commit is contained in:
2022-04-18 23:34:40 +03:00
parent 1d7beebf6c
commit fd95e311f0
6 changed files with 103 additions and 68 deletions

View File

@@ -5,11 +5,12 @@ Maybe dont_throw(){
}
Maybe throw_error(){
safethrow("test exception");
char* k=malloc(64);
safethrow("test exception",free(k));
}
Maybe throw_errcode(){
safethrow(ERR_NULLPTR);
safethrow(ERR_NULLPTR,;);
}
Maybe test_maybe(){
@@ -17,16 +18,16 @@ Maybe test_maybe(){
tryLast(dont_throw(),rez0)
printMaybe(rez0);
printf("\n");
try(throw_error(),rez1)
try(throw_error(),rez1,;)
printMaybe(rez1);
throw("test_maybe failed");
return MaybeNull;
}
Maybe c(){ try(throw_errcode(),_) return MaybeNull; }
Maybe b(){ try(c(),_) return MaybeNull; }
Maybe a(){ try(b(),_) return MaybeNull; }
Maybe c(){ try(throw_errcode(),_,;) return MaybeNull; }
Maybe b(){ try(c(),_,;) return MaybeNull; }
Maybe a(){ try(b(),_,;) return MaybeNull; }
void test_safethrow(){
printf("\e[96m-----------[test_safethrow]-----------\n");