raise an exception for exceptional cases