配列初期化ミスとかは実行時の致命的エラーなんだから
事前にチェックする方法ってのは原理的に存在しないよ。
それって結局、ロジックによって通過先が変われば状態が変わってしまうもの。
諦めたら?