You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ce...@apache.org on 2022/03/20 06:52:59 UTC

svn commit: r1899075 - /poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/FormulaParser.java

Author: centic
Date: Sun Mar 20 06:52:59 2022
New Revision: 1899075

URL: http://svn.apache.org/viewvc?rev=1899075&view=rev
Log:
Improve error message if formula cannot be parsed

Modified:
    poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/FormulaParser.java

Modified: poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/FormulaParser.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/FormulaParser.java?rev=1899075&r1=1899074&r2=1899075&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/FormulaParser.java (original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/FormulaParser.java Sun Mar 20 06:52:59 2022
@@ -97,6 +97,7 @@ import org.apache.poi.util.Internal;
 @Internal
 public final class FormulaParser {
     private static final Logger LOGGER = LogManager.getLogger(FormulaParser.class);
+
     private final String _formulaString;
     private final int _formulaLength;
     /** points at the next character to be read (after the {@link #look} codepoint) */
@@ -681,11 +682,10 @@ public final class FormulaParser {
             GetChar();
         }
         // parse column quantifier
-        String startColumnName;
         String endColumnName = null;
         int nColQuantifiers = 0;
         int savePtr1 = _pointer;
-        startColumnName = parseAsColumnQuantifier();
+        String startColumnName = parseAsColumnQuantifier();
         if (startColumnName == null) {
             resetPointer(savePtr1);
         } else {
@@ -799,7 +799,7 @@ public final class FormulaParser {
 
         if (nColQuantifiers == 2) {
             if (startColumnName == null || endColumnName == null) {
-                throw new IllegalStateException("Fatal error");
+                throw new IllegalStateException("Cannot parse column: " + startColumnName + " and " + endColumnName + " with formula " + _formulaString);
             }
             int startIdx = tbl.findColumnIndex(startColumnName);
             int endIdx = tbl.findColumnIndex(endColumnName);
@@ -811,7 +811,7 @@ public final class FormulaParser {
 
         } else if (nColQuantifiers == 1 && !isThisRow) {
             if (startColumnName == null) {
-                throw new IllegalStateException("Fatal error");
+                throw new IllegalStateException("Cannot parse column: " + startColumnName + " with formula " + _formulaString);
             }
             int idx = tbl.findColumnIndex(startColumnName);
             if (idx == -1) {



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org