throw() は例外を投げない事を保証するが、
unexpected() が呼ばれて落ちる事もあるので
「throw() がついてないからどんな例外が呼ばれるか分からないから
 落ちる可能性があるかもしれないのか不安だよ!」
ってのは意外とナンセンスな悩み。