@@ -23,26 +23,24 @@ where
2323
2424 let result = invoke_entrypoint ( & jvm, & start_type, args) . await ;
2525
26- if let Err ( x) = result {
27- Err ( match x {
28- JavaError :: JavaException ( x) => {
29- let string_writer = jvm. new_class ( "java/io/StringWriter" , "()V" , ( ) ) . await . unwrap ( ) ;
30- let print_writer = jvm
31- . new_class ( "java/io/PrintWriter" , "(Ljava/io/Writer;)V" , ( string_writer. clone ( ) , ) )
32- . await
33- . unwrap ( ) ;
34-
35- let _: ( ) = jvm
36- . invoke_virtual ( & x, "printStackTrace" , "(Ljava/io/PrintWriter;)V" , ( print_writer, ) )
37- . await
38- . unwrap ( ) ;
39-
40- let trace = jvm. invoke_virtual ( & string_writer, "toString" , "()Ljava/lang/String;" , [ ] ) . await . unwrap ( ) ;
41-
42- anyhow:: anyhow!( "Java Exception:\n {}" , JavaLangString :: to_rust_string( & jvm, & trace) . await . unwrap( ) )
43- }
44- JavaError :: FatalError ( x) => anyhow:: anyhow!( "Fatal error: {x}" ) ,
45- } )
26+ if let Err ( JavaError :: JavaException ( x) ) = result {
27+ let string_writer = jvm. new_class ( "java/io/StringWriter" , "()V" , ( ) ) . await . unwrap ( ) ;
28+ let print_writer = jvm
29+ . new_class ( "java/io/PrintWriter" , "(Ljava/io/Writer;)V" , ( string_writer. clone ( ) , ) )
30+ . await
31+ . unwrap ( ) ;
32+
33+ let _: ( ) = jvm
34+ . invoke_virtual ( & x, "printStackTrace" , "(Ljava/io/PrintWriter;)V" , ( print_writer, ) )
35+ . await
36+ . unwrap ( ) ;
37+
38+ let trace = jvm. invoke_virtual ( & string_writer, "toString" , "()Ljava/lang/String;" , [ ] ) . await . unwrap ( ) ;
39+
40+ Err ( anyhow:: anyhow!(
41+ "Java Exception:\n {}" ,
42+ JavaLangString :: to_rust_string( & jvm, & trace) . await . unwrap( )
43+ ) )
4644 } else {
4745 Ok ( result?)
4846 }
0 commit comments