out_of_range
と
domain_error
はどう使い分けられるものでしょうか?