Handling exceptions

You are browsing legacy Javonet 1.5 (Java<>.NET bridge for Windows) documentation. Use the left side menu or click here to switch to latest Javonet 2.0 documentation. Javonet 2.0 allows you to use any module from JVM, CLR, Netcore, Python, Ruby, Perl, NodeJS on Windows, Linux and MacOs from any application created in Java, Clojure, Groovy, Kotlin, C#, F#, J#, VB.NET, Python, Perl, Ruby, JavaScript, TypeScript, C++ and GoLang

Any exception thrown by called technology can be handled in your Java code. All Javonet methods that operate on objects from .NET Framework DLL throw a JavonetException when exceptions occur. You can catch exceptions by catching the JavonetExceptions, and then perform the appropriate exception handling logic.

I code in:
try {
    // Todo: activate Javonet and add reference to .NET library

    // get .NET type
    NType sampleType = Javonet.getType("TestNamespace.TestClass");

    // call static method
    String response = sampleType.invoke("SayHello", 12.34);
} catch (JavonetException jex) {
    // Todo: your exception handling code
    System.out.println(jex.toString());

    // expected output:
    // com.javonet.api.NException: Static method 'SayHello(Double)' on class 'TestClass'
    // from assembly 'TestClass, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' was not found.
    //
    // Available methods are:
    // System.String SayHello(System.String)
    // Int32 get_MyStaticField()
    // Void set_MyStaticField(Int32)
    // Boolean Equals(System.Object, System.Object)
    // Boolean ReferenceEquals(System.Object, System.Object)
}

See Live Example!