This commit is contained in:
William S Fulton 2013-01-05 17:59:18 +00:00
commit 0bde711222
4 changed files with 30 additions and 61 deletions

View file

@ -481,6 +481,7 @@ CPP_STD_TEST_CASES += \
li_std_combinations \
li_std_deque \
li_std_except \
li_std_except_as_class \
li_std_map \
li_std_pair \
li_std_pair_using \

View file

@ -0,0 +1,19 @@
/* File : li_std_except_as_class.i */
%module li_std_except_as_class
/* NOTE: SF bug 1295:
* if there were also functions throwing 'std::logic_error' and
* 'std::exception' then the bug would not be fully replicated */
%{
#include <exception>
#include <stdexcept>
void test_domain_error() throw(std::domain_error)
{ throw std::domain_error("std::domain_error"); }
%}
%include <std_string.i>
#define SWIG_STD_EXCEPTIONS_AS_CLASSES
%include <std_except.i>
void test_domain_error() throw(std::domain_error)
{ throw std::domain_error("std::domain_error"); }

View file

@ -0,0 +1,9 @@
from li_std_except_as_class import *
# std::domain_error hierarchy
try: test_domain_error()
except domain_error: pass
try: test_domain_error()
except logic_error: pass
try: test_domain_error()
except exception: pass