exception hadling rationalization