From: PJ Fanning Date: Thu, 25 Jan 2024 10:03:29 +0000 (+0000) Subject: [github-578] allow any non-fatal exception when setting up fonts to indicate that... X-Git-Tag: REL_5_3_0~122 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=274a7e24f372cb15ed78cf097522fd32794fafd9;p=poi.git [github-578] allow any non-fatal exception when setting up fonts to indicate that the fonts are probably not installed. This closes #578 git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1915397 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/poi/src/main/java/org/apache/poi/ss/util/SheetUtil.java b/poi/src/main/java/org/apache/poi/ss/util/SheetUtil.java index 57ee821c5d..6d7bc7f8e0 100644 --- a/poi/src/main/java/org/apache/poi/ss/util/SheetUtil.java +++ b/poi/src/main/java/org/apache/poi/ss/util/SheetUtil.java @@ -38,6 +38,7 @@ import org.apache.poi.ss.usermodel.RichTextString; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.util.ExceptionUtil; import org.apache.poi.util.Internal; @@ -351,12 +352,13 @@ public class SheetUtil { try { TextLayout layout = new TextLayout(str.getIterator(), fontRenderContext); return layout.getAdvance(); - } catch (UnsatisfiedLinkError | NoClassDefFoundError | InternalError e) { - if (ignoreMissingFontSystem) { + } catch (Throwable t) { + // fatal exceptions will always be rethrown + if (!ExceptionUtil.isFatal(t) && ignoreMissingFontSystem) { return DEFAULT_CHAR_WIDTH; } - throw e; + throw t; } }