Exceptional 1.0 - A new style of handling exceptions

Exceptional is a plugin for Ruby on Rails that brings exception handling into the world of RoR filters. Through two declarative statements that are similar in style to filter declarations in your controllers you get easy and powerful exception handling in your application.

An example usage:

Looks pretty cool Scott, I like it.

Cheers- -- Ezra Zygmuntowicz -- Lead Rails Evangelist -- ez@engineyard.com -- Engine Yard, Serious Rails Hosting -- (866) 518-YARD (9273)

Yes, it's brilliant, could you explain why it works just with 1.2RC

Thanks

Paolo

It only works in rails 1.2 RC because I use alias_method_chain as well as add "RAILS_ROOT/app/errors" to the Dependency.load_paths so that you get nice autoloading and such for custom errors.

I suppose I could work around those in an update that extends compatability to 1.1.6

-Scott

An Update:

I've extended Exceptional to support 1.1.6, with a few addenda. First, I cannot reliably distinguish between versions of rails if you have frozen rails in your application. I can't use Rails version defined in version.rb because it is the same between 1.2RC and 1.1.6, and so I have to rely on rubygems to decide whether I should include the compatability patches.

Speaking of them, the are all simply included in a file called compatability_116.rb for easy removal. I would desire to remove these patches as 1.2 goes final for the simple fact that to get the handles directive to catch routing errors, I have to redefine Dispatcher.dispatch to use the version in the RC. Doing so makes me feel really icky.

Anyways, patches are welcome to add support for frozen installations of 1.1.6.

Thanks, Scott