restart                 package:base                 R Documentation

_R_e_s_t_a_r_t _a_n _E_x_p_r_e_s_s_i_o_n

_D_e_s_c_r_i_p_t_i_o_n:

     `restart' performs a type of non-local return.

     `try' is a user-friendly wrapper to run an expression that might
     fail.

_U_s_a_g_e:

     restart(on = TRUE)
     try(expr, first = T)

_A_r_g_u_m_e_n_t_s:

      on: if true a jump point is set; if false the jump point is
          removed

    expr: an R expression to try

   first: not for user use!

_D_e_t_a_i_l_s:

     When `restart' is called with `on = TRUE' the evaluator marks that
      function as a return point. Any errors or signals (such as
     control-C on Unix) cause control to return to the start of the
     function containing the call to `restart'. The most recently
     established function is always entered first.

_V_a_l_u_e:

     `try' returns the value of the expression if it succeeds, and an
     invisible object of class `"try_error"' containing the error
     message if it if fails. The normal error handling will print the
     same message unless `options("show.error.messages")' is false.

_N_o_t_e:

     The direct use of `restart' is likely to result in an infinite
     loop. Use `try' unless you are sure you know what you are doing.

_S_e_e _A_l_s_o:

     `options' for setting error handlers and suppressing the printing
     of error messages; `geterrmessage' for retrieving the last error
     message.

_E_x_a_m_p_l_e_s:

     ## this example will not work correctly in example(try), but
     ##  it does work correctly if pasted in
     options(show.error.messages = FALSE)
     try(log("a"))
     print(.Last.value)
     options(show.error.messages = TRUE)

