[wxruby-users] Raising exceptions and "wrong number of arguments" problem
Alex Fenton
alex at pressure.to
Sat Jul 12 13:16:58 EDT 2008
Bob Bobrov wrote:
> Hi everyone - what is the proper way to display error messages when you
> raise exceptions?
>
> For example, the following code...
>
> class MyWxRubyClass
> some code...
> evt_button(my_button) do
> begin
> some code...
> if wrong_condition
> raise "My Error Message"
> end
> some code...
> rescue Exception => msg
> puts msg
> Wx::MessageDialog.new(nil, msg, 'Error Popup',
> Wx::OK|Wx::ICON_ERROR).show_modal
> end
> end
> end
>
> ... produces "wrong # of arguments(1 for 0)" error message in both
> console and message box.
Use Kernel.raise, eg
Kernel.raise "My Error Message"
The reason this is needed is because if you're inside a class that
inherits from Wx::Window, a call to 'raise' unqualified is taken to mean
the instance method Window#raise (which takes no arguments)
alex
More information about the wxruby-users
mailing list