Further improvements on exceptions