From fb8e990083ec1e55f0ef0509ce19778252a7c1d1 Mon Sep 17 00:00:00 2001 From: crschnick Date: Wed, 28 Feb 2024 14:13:07 +0000 Subject: [PATCH] Better handle markdown io errors --- app/src/main/java/io/xpipe/app/comp/base/MarkdownComp.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/io/xpipe/app/comp/base/MarkdownComp.java b/app/src/main/java/io/xpipe/app/comp/base/MarkdownComp.java index 56d1bd25..da75f656 100644 --- a/app/src/main/java/io/xpipe/app/comp/base/MarkdownComp.java +++ b/app/src/main/java/io/xpipe/app/comp/base/MarkdownComp.java @@ -7,6 +7,7 @@ import io.xpipe.app.fxcomps.CompStructure; import io.xpipe.app.fxcomps.SimpleCompStructure; import io.xpipe.app.fxcomps.util.PlatformThread; import io.xpipe.app.fxcomps.util.SimpleChangeListener; +import io.xpipe.app.issue.ErrorEvent; import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.util.Hyperlinks; import io.xpipe.app.util.MarkdownHelper; @@ -59,14 +60,15 @@ public class MarkdownComp extends Comp> { wv.getEngine().setUserStyleSheetLocation(url.toString()); SimpleChangeListener.apply(PlatformThread.sync(markdown), val -> { - // Work around for https://bugs.openjdk.org/browse/JDK-8199014 + // Workaround for https://bugs.openjdk.org/browse/JDK-8199014 try { var file = Files.createTempFile(null, ".html"); Files.writeString(file, getHtml()); var contentUrl = file.toUri(); wv.getEngine().load(contentUrl.toString()); } catch (IOException e) { - throw new RuntimeException(e); + // Any possible IO errors can occur here + ErrorEvent.fromThrowable(e).expected().handle(); } });