Exceptions and class separation