exception handling.