Cpp Throw Error Catch