erm, exception handling 3.x style