設計どおりに作って一切のエラー発生させないのを理想とするウォーターフォールモデルで頭が固まった人にはわからないだろうが。
静的型付け言語はエラーをわざと発生させてそこを直していくという作業で
プログラムを構築することができる。慣れるとそれが結構効率的だったりする。
エラーとか例外とかいうからいけないんだな。そうじゃなくて開発手法として整理すべきと思う。