再帰処理でスタック不足のエラーを捕まえるにはどうしたらいいのでしょう?

on Error goto ErrHandle
call SomeFunc '再帰関数を呼ぶ

ErrHandle:
MsgBox("計算に失敗しました")

こんな感じではエラーを捕まえてくれずに落ちちゃう・・

#再帰が浅いデータで計算するとうまく動いているから再帰関数自体は問題ないとおもう