now also handles exceptions in assert macro