ruby - How does begin,rescue and => symbol work? -
in ruby koans, 6th exercise, there is:
def test_you_dont_get_null_pointer_errors_when_calling_methods_on_nil     # happens when call method doesn't exist.       # following begin/rescue/end code block captures exception ,     # make assertions it.      begin     nil.some_method_nil_doesnt_know_about   rescue exception => ex     # exception has been caught?     assert_equal __, ex.class      # message attached exception?     # (hint: replace __ part of error message.)     assert_match(/__/, ex.message)   end end i have no idea => symbol there? begin , rescue not clear me.
when goes wrong can "raise exception"
def do_it   # ..   raise exception.new("something went wrong !") if something_went_wrong end this stop execution of program if something_went_wrong true. , if don't handle exception.
to handle exception use "rescue exception"
begin   do_it rescue exception   puts "something went wrong, go on anyway" end if need work exception can give name "=>"
begin   do_it rescue exception => ex   # "ex" name of exception. , "ex.inspect" inspects it.   puts "something went wrong, #{ex.inspect}, .." end if ruby koans, may rubymonk online tutorial. in "ruby primer: ascent" lesson on exceptions.
Comments
Post a Comment