よほど特殊な実装出もない限り、throw と catch より if の方が効率良いけどな。
ま、結局の所、実測してみないと何とも言えないけど。