From effe88404dd9a89f58eb6d7229aade6aaff176c6 Mon Sep 17 00:00:00 2001 From: William S Fulton Date: Fri, 22 Jul 2005 21:33:32 +0000 Subject: [PATCH] Stop using SWIG_exception. It is flawed. git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7343 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- Lib/csharp/std_map.i | 6 ++++-- Lib/java/std_map.i | 6 ++++-- Lib/java/std_vector.i | 9 ++++----- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/Lib/csharp/std_map.i b/Lib/csharp/std_map.i index 38a063e95..600c9ef27 100644 --- a/Lib/csharp/std_map.i +++ b/Lib/csharp/std_map.i @@ -12,7 +12,8 @@ try { $action } catch (std::out_of_range& e) { - SWIG_exception(SWIG_IndexError,const_cast(e.what())); + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpIndexOutOfRangeException, const_cast(e.what())); + return $null; } } @@ -20,7 +21,8 @@ try { $action } catch (std::out_of_range& e) { - SWIG_exception(SWIG_IndexError,const_cast(e.what())); + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpIndexOutOfRangeException, const_cast(e.what())); + return $null; } } diff --git a/Lib/java/std_map.i b/Lib/java/std_map.i index 38a063e95..001b718c4 100644 --- a/Lib/java/std_map.i +++ b/Lib/java/std_map.i @@ -12,7 +12,8 @@ try { $action } catch (std::out_of_range& e) { - SWIG_exception(SWIG_IndexError,const_cast(e.what())); + SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, const_cast(e.what())); + return $null; } } @@ -20,7 +21,8 @@ try { $action } catch (std::out_of_range& e) { - SWIG_exception(SWIG_IndexError,const_cast(e.what())); + SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, const_cast(e.what())); + return $null; } } diff --git a/Lib/java/std_vector.i b/Lib/java/std_vector.i index bac6ccaed..2cd929e9f 100644 --- a/Lib/java/std_vector.i +++ b/Lib/java/std_vector.i @@ -8,14 +8,12 @@ %include exception.i -// containers - -// methods which can raise are caused to throw an IndexError %exception std::vector::get { try { $action } catch (std::out_of_range& e) { - SWIG_exception(SWIG_IndexError,const_cast(e.what())); + SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, const_cast(e.what())); + return $null; } } @@ -23,7 +21,8 @@ try { $action } catch (std::out_of_range& e) { - SWIG_exception(SWIG_IndexError,const_cast(e.what())); + SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, const_cast(e.what())); + return $null; } }