aboutsummaryrefslogtreecommitdiff
path: root/Lib/go/std_except.i
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@google.com>2010-06-10 01:13:31 +0000
committerIan Lance Taylor <iant@google.com>2010-06-10 01:13:31 +0000
commit5af2978f77cad0eec048ba1ea09b07e8ad7abbfa (patch)
tree2a7c8d569dde6570e0a5baa907bb5b3084697a52 /Lib/go/std_except.i
parent09f14197ac1df83e9b428d84782238abec0500bd (diff)
downloadswig-5af2978f77cad0eec048ba1ea09b07e8ad7abbfa.tar.gz
Add support for the Go programming language.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12108 626c5289-ae23-0410-ae9c-e8d60b6d4f22
Diffstat (limited to 'Lib/go/std_except.i')
-rw-r--r--Lib/go/std_except.i29
1 files changed, 29 insertions, 0 deletions
diff --git a/Lib/go/std_except.i b/Lib/go/std_except.i
new file mode 100644
index 000000000..789a335f7
--- /dev/null
+++ b/Lib/go/std_except.i
@@ -0,0 +1,29 @@
+/* -----------------------------------------------------------------------------
+ * 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 <stdexcept>
+%}
+
+namespace std
+{
+ %ignore exception;
+ struct exception {};
+}
+
+%typemap(throws) std::bad_exception %{_swig_gopanic($1.what());%}
+%typemap(throws) std::domain_error %{_swig_gopanic($1.what());%}
+%typemap(throws) std::exception %{_swig_gopanic($1.what());%}
+%typemap(throws) std::invalid_argument %{_swig_gopanic($1.what());%}
+%typemap(throws) std::length_error %{_swig_gopanic($1.what());%}
+%typemap(throws) std::logic_error %{_swig_gopanic($1.what());%}
+%typemap(throws) std::out_of_range %{_swig_gopanic($1.what());%}
+%typemap(throws) std::overflow_error %{_swig_gopanic($1.what());%}
+%typemap(throws) std::range_error %{_swig_gopanic($1.what());%}
+%typemap(throws) std::runtime_error %{_swig_gopanic($1.what());%}
+%typemap(throws) std::underflow_error %{_swig_gopanic($1.what());%}