# Best practices for exception hierarchies?

**URL:** <https://www.ruby-forum.com/t/best-practices-for-exception-hierarchies/55322>\
**Category:** Ruby\
**Created:** [March 19, 2006, 7:11pm UTC](https://www.ruby-forum.com/t/best-practices-for-exception-hierarchies/55322 "2006-03-19T19:11:45Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![joshmh](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/5fc32e/32.png) [@joshmh](https://www.ruby-forum.com/u/joshmh)\
**Post date:** [March 19, 2006, 7:11pm UTC](https://www.ruby-forum.com/t/best-practices-for-exception-hierarchies/55322/1 "2006-03-19T19:11:45Z")

</div>

What are best-practices for exception hierarchies?

Should my exceptions derive from Exception, or StandardError, or  
RuntimeError?

Should my exceptions be called FooException or FooError? Does Ruby  
give a specific meaning to the difference between an “Error” and an  
“Exception?”

Josh
