> > First, thanks for making this system, and apologies if this isn;t the list > > for these questions but there appears to be no cffi-users list. > > > > In any case, is there any way to catch the underlying c++ exceptions > > within a cffi-wrapper? I have developed a C++ library that defines its > > own exceptions and I would like to trap them and generate an appropriate > > Lisp Condition. At present deliberately triggering an error (say by > > passingincorrect parameters to a constructor) gives me back a null > > pointer. > > Btw, do you call out to your library, or you plan to just generate exceptions? > > If you do call out, how do you manage it? > > I mean, C++ name mangling is hard to keep with, etc...
I call out the library using the cffi foreign-function wrapper. as per the example in the cffi manual. What I ended up doing was making use of SWIG. Swig can both parse C++ and generate CFFI wrappers and so I called it to generate the wrappers. However the existing code in swig has issues so I was forced to hand-edit some of it. It succeeded in handling the name-mangling and so on but its attempted clos wrapper for the C++ had one distinct problem, every method had an extra argument. It duitifully generated a wrapper for the exception class that I defined in C++ however objects of that instance are not, seemingly, returned by the library at points where they should be. Rather I get (what appears to be) a null pointer instead. I have not yet explored the potential for trapping that pointer as an exception however. > > > Thanks, > > Collin Lynch. > > regards, Samium Gromoff > Felicitations, Collin Lynch. _______________________________________________ cffi-devel mailing list cffi-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/cffi-devel