improve exception process