raise
exceptions, with emotion and intensity
require "angry_raise"
raise! "an error occured" # "RuntimeError: an error occured!"
raise! SomeError, "an error occured" # "SomeError: an error occured!"
raise! SomeError.new("an error occured") # "SomeError: an error occured!"
raise!! "an error occured" # "RuntimeError: An error occured!!"
raise!! SomeError, "an error occured" # "SomeError: An error occured!!"
raise!! SomeError.new("an error occured") # "SomeError: An error occured!!"
raise!!! "an error occured" # "RuntimeError: An Error Occured!!!"
raise!!! SomeError, "an error occured" # "SomeError: An Error Occured!!!"
raise!!! SomeError.new("an error occured") # "SomeError: An Error Occured!!!"
raise!!!! "an error occured" # "RuntimeError: AN ERROR OCCURED!!!!"
raise!!!! SomeError, "an error occured" # "SomeError: AN ERROR OCCURED!!!!"
raise!!!! SomeError.new("an error occured") # "SomeError: AN ERROR OCCURED!!!!"
Feel free to capture the mood of each caller:
raise!!!!!!!!!!!!!! "an error occured" # RuntimeError: AN ERROR OCCURED!!!!!!!!!!!!!!
You can add a backtrace too, because sometimes, it's appropriate:
raise!!! SomeError, "an error occured", %w[frame1 frame2 frame3]
I18n.locale = :es
raise!!! "tenemos un problema aqui" # ¡¡¡Tenemos Un Problema Aqui!!!
Currently only supports Spanish. Is there any other language to support?
Should one ever use monkey patched code in production‽‽‽
This library changes the behavior or String#!
, Exception#!
and Exception::!
to
the exact opposite of their default implementations! So, I'd say NO!!!!
Skye Shaw [skye.shaw =AT= gmail]
- Acme::Crap - The Perl module that served as inspiration
- Table flipper - Prepends the table flipper on Exception messages
- class2 - DSL for creating class hierarchies
- YYMMDD - Tiny DSL for idiomatic date parsing and formatting