Hello
I think we need to use SWIG_exception_fail instead of SWIG_exception.
In python they are actually defined as the same thing, but in perl
SWIG_exception_fail does a 'goto fail;' and the croak() is done under
fail. A plain SWIG_exception continues in the success path and doesn't
throw an exception (it just creates the exception information but
doesn't throw it).
With SWIG_exception,
$connection = new ndb::Ndb_cluster_connection();
if ($connection->connect(5,3,1)) {
print "Connect to cluster management server failed.\n";
exit -1;
}
actually prints
Connect to cluster management server failed.
Whereas with SWIG_exception_fail, the script dies with
RuntimeError Connect to management server failed
Which is the behaviour I assume we are looking for.
I'll provide a patch in a bit.
Mika