From: matz@... (Yukihiro Matsumoto) Date: 2003-04-19T14:04:59+09:00 Subject: Re: problem with rb_rescue2() ? Hi, In message "problem with rb_rescue2() ?" on 03/04/19, Mathieu Bouchard writes: |is there any way i can trap exceptions in Ruby without going through |rb_rescue ? ... because that one is not quite convenient to use (has to go |through another separate function and such...) Unfortunately, no. |well, else I make myself a struct on the stack containing receiver, |selector, argc, argv, and i pass that to rb_rescue2() like this: | |rb_rescue2( | (RMethod)rb_rescue_funcall_2,(Ruby)&m, | (RMethod)rb_rescue_funcall_3,(Ruby)&m, | rb_eException,0); | |where m is the struct. | |Now I want to ask you how much the ruby internals are resistant to a |non-VALUE being passed in a VALUE parameter? Especially the GC and such... |Is that looking for trouble ? (segfault ?) It's OK to pass non Ruby object pointer casting to VALUE. Ruby's conservative GC can handle them. matz.