例外処理について教えて下さい
下のような構造になっているプログラムで例外が発生したとき適当なメッセージを出力してからプログラムを終了したいです
このようなときは,funcBからfuncA,funcAからmainまで例外を再スローしていくものなのでしょうか
そうすると,もっと多くの関数があった場合,main関数はすべての例外をcatchするようにしないといけないと思うのですが,もっと適切な方法はありますか?

funcA() {
 funcB()
}

funcB() {
 例外発生
}

main() {
funcA()
}