Cpp Throw Error Catcher