http://tsubalog.hatenablog.com/difference_of_throw_and_throwex