2010-07-09 14 views

risposta

5

Ruby ha bisogno di più documentazione. Ho dovuto andare nel codice sorgente rubino, e questo è quello che ho trovato:

VALUE 
rb_rescue(VALUE (* b_proc)(ANYARGS), VALUE data1, 
     VALUE (* r_proc)(ANYARGS), VALUE data2) 
{ 
    return rb_rescue2(b_proc, data1, r_proc, data2, rb_eStandardError, 
       (VALUE)0); 
} 

Quindi, la risposta alla mia domanda (credo) sarebbe:

rb_rescue2(x, Qnil, y, Qnil, rb_eException, (VALUE)0); 

VALUE x(void) { /* ... */ return Qnil; } 
VALUE y(void) { /* ... */ return Qnil; } 
+1

+1 Basta premere lo stesso problema e questa scoperta ha risolto il mio problema. –

+0

Vorrei votare, ma non sono chiaro su quali callback fanno cosa. Cosa viene chiamato in caso di salvataggio? Cosa viene salvato? –

+0

Suppongo che 'b_proc' sia il codice dopo l'istruzione' begin' e 'r_proc' è il codice di ripristino. – Vortico

Problemi correlati