git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10054 626c5289-ae23-0410-ae9c-e8d60b6d4f22
51 lines
913 B
OpenEdge ABL
51 lines
913 B
OpenEdge ABL
%module exception_partial_info
|
|
|
|
// This produced compileable code for Tcl, Python in 1.3.27, fails in 1.3.29
|
|
|
|
%{
|
|
#if defined(_MSC_VER)
|
|
#pragma warning(disable: 4290) // C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
|
|
#endif
|
|
%}
|
|
|
|
%{
|
|
class myException
|
|
{
|
|
public:
|
|
virtual const char *name() = 0;
|
|
};
|
|
|
|
class ex1 : public myException
|
|
{
|
|
public:
|
|
virtual const char *name() { return "ex1"; }
|
|
};
|
|
|
|
class ex2 : public myException
|
|
{
|
|
public:
|
|
virtual const char *name() { return "ex2"; }
|
|
};
|
|
%}
|
|
|
|
#if !defined(SWIGUTL)
|
|
|
|
#if !defined(SWIGCHICKEN)
|
|
|
|
%inline %{
|
|
class Impl
|
|
{
|
|
public:
|
|
void f1() throw (myException) { ex1 e; throw e; }
|
|
void f2() throw (myException) { ex2 e; throw e; }
|
|
};
|
|
%}
|
|
|
|
#else
|
|
#warning "Chicken needs fixing for partial exception information"
|
|
#endif
|
|
|
|
#else
|
|
#warning "UTL needs fixing for partial exception information"
|
|
#endif
|
|
|