|go ahead... be a heretic|
Re^11: eval to replace die?by BrowserUk (Pope)
|on Oct 05, 2010 at 13:35 UTC||Need Help??|
If you throw a MyError::Foo, I would have to explicitly throw that error
And if I prefix my error messages with "MyError::Foo" you'd have to explicitly throw an error that started with that string to break my error handling.
And if two modules chose bad namespaces--like MyError rather than MyModuleName::Error--then the same problem arises in code that uses both modules.
The error vectors are exactly the same! It's still just string compare.
The solution is in well chosen namespaces--whether error prefixes or execption class names.
Just moving to throwing exception objects rather than strings does not fix the underlying problem: that of badly chosen namespaces!
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.