curlの戻り値

何もオプションをつけないと400とか500のエラーが出ても
コマンドの戻り値自体は0になってしまう。
エラーをハンドリングしようとしたら-fオプションをつけて
22の終了コードを返すようにしないといけないみたい。
ただ、日本語のマニュアルページみたいなのを見てみると、
この方法は正確さにかけてしまうらしい。どうするのが良いのだろうか。。。