add catch and throw post