@@ -195,10 +195,18 @@ void generateCode(SwiftWriter swiftWriter, String javaFullName, String swiftType
195195 swiftWriter .emit (") else {" );
196196 swiftWriter .emitStatement ("if let throwable = JNI.ExceptionCheck() {" );
197197 if (isThrown ) {
198- swiftWriter .emitStatement ("throw Error.from(javaObject: throwable)" );
198+ swiftWriter .emitStatement ("if let error = try? NSError.from(javaObject: throwable) {" );
199+ swiftWriter .emitStatement ("throw error" );
200+ swiftWriter .emitStatement ("} else {" );
201+ swiftWriter .emitStatement ("fatalError(\" JavaException\" )" );
202+ swiftWriter .emitStatement ("}" );
199203 }
200204 else {
201- swiftWriter .emitStatement ("fatalError(\" Don't support exception here!\" )" );
205+ swiftWriter .emitStatement ("if let error = try? NSError.from(javaObject: throwable) {" );
206+ swiftWriter .emitStatement ("fatalError(\" JavaException: \\ (error) \" )" );
207+ swiftWriter .emitStatement ("} else {" );
208+ swiftWriter .emitStatement ("fatalError(\" JavaException\" )" );
209+ swiftWriter .emitStatement ("}" );
202210 }
203211 swiftWriter .emitStatement ("} else {" );
204212 if (isReturnTypeOptional ) {
@@ -215,10 +223,18 @@ void generateCode(SwiftWriter swiftWriter, String javaFullName, String swiftType
215223
216224 swiftWriter .emitStatement ("if let throwable = JNI.ExceptionCheck() {" );
217225 if (isThrown ) {
218- swiftWriter .emitStatement ("throw Error.from(javaObject: throwable)" );
226+ swiftWriter .emitStatement ("if let error = try? NSError.from(javaObject: throwable) {" );
227+ swiftWriter .emitStatement ("throw error" );
228+ swiftWriter .emitStatement ("} else {" );
229+ swiftWriter .emitStatement ("fatalError(\" JavaException\" )" );
230+ swiftWriter .emitStatement ("}" );
219231 }
220232 else {
233+ swiftWriter .emitStatement ("if let error = try? NSError.from(javaObject: throwable) {" );
234+ swiftWriter .emitStatement ("fatalError(\" JavaException: \\ (error) \" )" );
235+ swiftWriter .emitStatement ("} else {" );
221236 swiftWriter .emitStatement ("fatalError(\" JavaException\" )" );
237+ swiftWriter .emitStatement ("}" );
222238 }
223239 swiftWriter .emitStatement ("}" );
224240 }
0 commit comments