(throw typemap). - fix the examples with exception problems and warnings - proper and consist treatment of basic types (short, unsigned char,...) now all are checked for range and sign. Before, this was depending of the use of parsing or no parsing, and/or the converter method, and/or the use of directors, etc. git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5659 626c5289-ae23-0410-ae9c-e8d60b6d4f22
44 lines
623 B
C++
44 lines
623 B
C++
/* File : example.h */
|
|
|
|
#include <string>
|
|
#ifndef SWIG
|
|
struct A {
|
|
};
|
|
#endif
|
|
|
|
class Exc {
|
|
public:
|
|
Exc(int c, const char *m) {
|
|
code = c;
|
|
strncpy(msg,m,256);
|
|
}
|
|
int code;
|
|
char msg[256];
|
|
};
|
|
|
|
class Test {
|
|
public:
|
|
int simple() throw(int) {
|
|
throw(37);
|
|
}
|
|
int message() throw(const char *) {
|
|
throw("I died.");
|
|
}
|
|
int hosed() throw(Exc) {
|
|
throw(Exc(42,"Hosed"));
|
|
}
|
|
int unknown() throw(A) {
|
|
throw A();
|
|
}
|
|
int multi(int x) throw(int, const char *, Exc) {
|
|
if (x == 1) throw(37);
|
|
if (x == 2) throw("Bleah!");
|
|
if (x == 3) throw(Exc(42,"No-go-diggy-die"));
|
|
}
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|