diff --git a/playwright/src/main/java/com/microsoft/playwright/Playwright.java b/playwright/src/main/java/com/microsoft/playwright/Playwright.java index ccd3e158..499946e3 100644 --- a/playwright/src/main/java/com/microsoft/playwright/Playwright.java +++ b/playwright/src/main/java/com/microsoft/playwright/Playwright.java @@ -50,6 +50,6 @@ public interface Playwright { return PlaywrightImpl.create(); } - void close() throws Exception; + void close(); } diff --git a/playwright/src/main/java/com/microsoft/playwright/impl/PlaywrightImpl.java b/playwright/src/main/java/com/microsoft/playwright/impl/PlaywrightImpl.java index 06e21a54..be9f52a7 100644 --- a/playwright/src/main/java/com/microsoft/playwright/impl/PlaywrightImpl.java +++ b/playwright/src/main/java/com/microsoft/playwright/impl/PlaywrightImpl.java @@ -100,12 +100,19 @@ public class PlaywrightImpl extends ChannelOwner implements Playwright { } @Override - public void close() throws Exception { - connection.close(); - // playwright-cli will exit when its stdin is closed, we wait for that. - boolean didClose = driverProcess.waitFor(30, TimeUnit.SECONDS); - if (!didClose) { - System.err.println("WARNING: Timed out while waiting for driver process to exit"); + public void close() { + try { + connection.close(); + // playwright-cli will exit when its stdin is closed, we wait for that. + boolean didClose = driverProcess.waitFor(30, TimeUnit.SECONDS); + if (!didClose) { + System.err.println("WARNING: Timed out while waiting for driver process to exit"); + } + } catch (IOException e) { + throw new PlaywrightException("Failed to terminate", e); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new PlaywrightException("Operation interrupted", e); } } } diff --git a/tools/api-generator/src/main/java/com/microsoft/playwright/tools/ApiGenerator.java b/tools/api-generator/src/main/java/com/microsoft/playwright/tools/ApiGenerator.java index f73f874e..c7f10230 100644 --- a/tools/api-generator/src/main/java/com/microsoft/playwright/tools/ApiGenerator.java +++ b/tools/api-generator/src/main/java/com/microsoft/playwright/tools/ApiGenerator.java @@ -1089,7 +1089,7 @@ class Interface extends TypeDefinition { output.add(offset + " return PlaywrightImpl.create();"); output.add(offset + "}"); output.add(""); - output.add(offset + "void close() throws Exception;"); + output.add(offset + "void close();"); } output.add("}"); output.add("\n");