diff options
Diffstat (limited to 'Examples/test-suite/java/director_exception_catches_runme.java')
-rw-r--r-- | Examples/test-suite/java/director_exception_catches_runme.java | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/Examples/test-suite/java/director_exception_catches_runme.java b/Examples/test-suite/java/director_exception_catches_runme.java new file mode 100644 index 000000000..c6fed192d --- /dev/null +++ b/Examples/test-suite/java/director_exception_catches_runme.java @@ -0,0 +1,35 @@ + +import director_exception_catches.*; + +public class director_exception_catches_runme { + + static { + try { + System.loadLibrary("director_exception_catches"); + } catch (UnsatisfiedLinkError e) { + System.err.println("Native code library failed to load. See the chapter on Dynamic Linking Problems in the SWIG Java documentation for help.\n" + e); + System.exit(1); + } + } + + public static void main(String argv[]) { + + BaseClass b = new director_exception_catches_MyClass(); + + try { + String s = BaseClass.call_description(b); + throw new RuntimeException("Failed to catch exception"); + } catch (NullPointerException e) { + if (!e.getMessage().startsWith("Testing exception thrown in BaseClass.description")) + throw new RuntimeException("Unexpected exception message: " + e.getMessage()); + } + } +} + +class director_exception_catches_MyClass extends BaseClass { + @Override + public String description() { + throw new NullPointerException("Testing exception thrown in BaseClass.description"); + } +} + |