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