From bbe9e7e5eb773746f469562e0324e94b0e3005e0 Mon Sep 17 00:00:00 2001 From: Rob Greene Date: Thu, 9 Oct 2025 10:47:32 -0500 Subject: [PATCH] Catching errors with disassembler more cleanly. --- .../filteradapter/DisassemblyFilterAdapter.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/filteradapter/DisassemblyFilterAdapter.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/filteradapter/DisassemblyFilterAdapter.java index 38171318..9e668d95 100644 --- a/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/filteradapter/DisassemblyFilterAdapter.java +++ b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/filteradapter/DisassemblyFilterAdapter.java @@ -24,6 +24,9 @@ import org.eclipse.swt.graphics.Image; import com.webcodepro.applecommander.storage.filters.DisassemblyFileFilter; import com.webcodepro.applecommander.ui.swt.FileViewerWindow; +import java.io.PrintWriter; +import java.io.StringWriter; + /** * Provides a view of the disassembly of a program as seen when loaded from the disk. * @@ -35,6 +38,15 @@ public class DisassemblyFilterAdapter extends TextFilterAdapter { } protected String createTextContent() { - return new String(new DisassemblyFileFilter(getFileEntry()).filter(getFileEntry())); + try { + return new String(new DisassemblyFileFilter(getFileEntry()).filter(getFileEntry())); + } catch (Throwable t) { + StringWriter sw = new StringWriter(); + PrintWriter pw = new PrintWriter(sw); + pw.println("An unexpected error occured in disassembly:"); + t.printStackTrace(pw); + pw.flush(); + return sw.toString(); + } } }