Exceptions

ditto. using counter like this is sloppy. tests should use a bool for each individual block, to identify which have been executed, and then can be checked individually. something like

```
    bool before_throw = false, after_throw = false, abort_block = false, runtime_block = false, assertion_block = false;
    try{ before_throw = true; throw(AssertionException); after_throw = true;}
    catch(AbortException){ abort_block = true; }
    catch(RuntimeException){ runtime_block = true; }
    catch(AssertionException){ assertion_block = true; }
    CHECK(true == before_throw);
    CHECK(false == after_throw);
    CHECK(false == abort_block);
    CHECK(true == runtime_block);
    CHECK(false == assertion_block);
```