From 843792001f9b4e10357b7d0ff9f1bbf67d51a186 Mon Sep 17 00:00:00 2001 From: Kai Morich Date: Sun, 23 Jun 2024 19:17:43 +0200 Subject: [PATCH] replace catch+throw with finally !ok, to get rid of UnhandledException shown as error method declared as throwing only IOException, but unchecked exceptions can always happen --- .../usbserial/driver/CommonUsbSerialPort.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/usbSerialForAndroid/src/main/java/com/hoho/android/usbserial/driver/CommonUsbSerialPort.java b/usbSerialForAndroid/src/main/java/com/hoho/android/usbserial/driver/CommonUsbSerialPort.java index 7762e5a..f805433 100644 --- a/usbSerialForAndroid/src/main/java/com/hoho/android/usbserial/driver/CommonUsbSerialPort.java +++ b/usbSerialForAndroid/src/main/java/com/hoho/android/usbserial/driver/CommonUsbSerialPort.java @@ -117,6 +117,7 @@ public abstract class CommonUsbSerialPort implements UsbSerialPort { throw new IllegalArgumentException("Connection is null"); } mConnection = connection; + boolean ok = false; try { openInt(); if (mReadEndpoint == null || mWriteEndpoint == null) { @@ -124,11 +125,13 @@ public abstract class CommonUsbSerialPort implements UsbSerialPort { } mUsbRequest = new UsbRequest(); mUsbRequest.initialize(mConnection, mReadEndpoint); - } catch(Exception e) { - try { - close(); - } catch(Exception ignored) {} - throw e; + ok = true; + } finally { + if (!ok) { + try { + close(); + } catch (Exception ignored) {} + } } }