関数型言語的には、意味のある値を返すとき以外は例外を投げますな。
たとえばRDBへのラッパ関数があるとして、RDBへのアクセスに失敗したときには
「null」や「ありえない値」を返すのではなく、例外を投げるみたいな。