ruby - Difference between $! versus a variable with rescue -


when rescuing exception, there 2 ways refer raised exception:

begin   ... rescue exception => e   handle_the_error(e) end 

and

begin   ... rescue exception   handle_the_error($!) end 

i believe interchangeable, they? there situation 1 should used on other?

i think these snippets interchangeable. should prefer explicit variables thread-global magic.

one case $! magic var handy:

result_or_error = perform_some_operation() rescue $! 

for don't know line means:

it's called "inline rescue". format this:

<expr1> rescue <expr2> 

first, expr1 evaluated. if no exception raised, value returned. if there exception, expr2 evaluated , value returned.

so, in case, if perform_some_operation() raised exception, variable result_or_error set instance of exception (because $! returns last error).


Comments

Popular posts from this blog

SPSS keyboard combination alters encoding -

Add new record to the table by click on the button in Microsoft Access -

javascript - jQuery .height() return 0 when visible but non-0 when hidden -