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; } }