C++がエラーを防ぐ為ならいかなるコーディング上のコストを払うのも厭わないというなら
throwsを骨抜きにしているのがどうにも解せないな。