fix li_std_except.i test
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7905 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
645f95d633
commit
d8f959828d
4 changed files with 38 additions and 20 deletions
14
Lib/csharp/std_except.i
Normal file
14
Lib/csharp/std_except.i
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
%include <std/std_except.i>
|
||||||
|
|
||||||
|
// Typemaps used by the STL wrappers that throw exceptions.
|
||||||
|
// These typemaps are used when methods are declared with an STL exception specification, such as
|
||||||
|
// size_t at() const throw (std::out_of_range);
|
||||||
|
|
||||||
|
%typemap(throws, canthrow=1) std::out_of_range %{
|
||||||
|
SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, $1.what());
|
||||||
|
return $null; %}
|
||||||
|
|
||||||
|
%typemap(throws, canthrow=1) std::invalid_argument %{
|
||||||
|
SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentException, $1.what(), "");
|
||||||
|
return $null; %}
|
||||||
|
|
||||||
9
Lib/java/std_except.i
Normal file
9
Lib/java/std_except.i
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
%include <std/std_except.i>
|
||||||
|
|
||||||
|
// Typemaps used by the STL wrappers that throw exceptions.
|
||||||
|
// These typemaps are used when methods are declared with an STL exception specification, such as
|
||||||
|
// size_t at() const throw (std::out_of_range);
|
||||||
|
|
||||||
|
%typemap(throws) std::out_of_range %{
|
||||||
|
SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, $1.what());
|
||||||
|
return $null; %}
|
||||||
|
|
@ -1,20 +1,3 @@
|
||||||
// Typemaps used by the STL wrappers that throw exceptions.
|
%{
|
||||||
// These typemaps are used when methods are declared with an STL exception specification, such as
|
#include <stdexcept>
|
||||||
// size_t at() const throw (std::out_of_range);
|
%}
|
||||||
|
|
||||||
#if defined(SWIGJAVA)
|
|
||||||
%typemap(throws) std::out_of_range %{
|
|
||||||
SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, $1.what());
|
|
||||||
return $null; %}
|
|
||||||
#elif defined(SWIGCSHARP)
|
|
||||||
%typemap(throws, canthrow=1) std::out_of_range %{
|
|
||||||
SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, $1.what());
|
|
||||||
return $null; %}
|
|
||||||
%typemap(throws, canthrow=1) std::invalid_argument %{
|
|
||||||
SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentException, $1.what(), "");
|
|
||||||
return $null; %}
|
|
||||||
#else
|
|
||||||
%include <exception.i>
|
|
||||||
%typemap(throws) std::out_of_range %{
|
|
||||||
SWIG_exception(SWIG_IndexError, $1.what()); %}
|
|
||||||
#endif
|
|
||||||
|
|
|
||||||
12
Lib/std_except.i
Normal file
12
Lib/std_except.i
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
%include <std/std_except.i>
|
||||||
|
|
||||||
|
// Typemaps used by the STL wrappers that throw exceptions.
|
||||||
|
// These typemaps are used when methods are declared with an STL
|
||||||
|
// exception specification, such as
|
||||||
|
//
|
||||||
|
// size_t at() const throw (std::out_of_range);
|
||||||
|
//
|
||||||
|
|
||||||
|
%include <exception.i>
|
||||||
|
%typemap(throws) std::out_of_range %{ SWIG_exception(SWIG_IndexError, $1.what()); %}
|
||||||
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue