mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 964854 - Reveal cause of exception. r=rnewman
This fixes an oversight from Bug 1042929, which neglected to push the underlying exception cause through to the final exception.
This commit is contained in:
parent
f94ed4ffb8
commit
ef8b00f816
@ -54,7 +54,7 @@ public class ExtendedJSONObject {
|
|||||||
return getJSONParser().parse(in);
|
return getJSONParser().parse(in);
|
||||||
} catch (Error e) {
|
} catch (Error e) {
|
||||||
// Don't be stupid, org.json.simple. Bug 1042929.
|
// Don't be stupid, org.json.simple. Bug 1042929.
|
||||||
throw new ParseException(ParseException.ERROR_UNEXPECTED_EXCEPTION);
|
throw new ParseException(ParseException.ERROR_UNEXPECTED_EXCEPTION, e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -72,7 +72,7 @@ public class ExtendedJSONObject {
|
|||||||
return getJSONParser().parse(input);
|
return getJSONParser().parse(input);
|
||||||
} catch (Error e) {
|
} catch (Error e) {
|
||||||
// Don't be stupid, org.json.simple. Bug 1042929.
|
// Don't be stupid, org.json.simple. Bug 1042929.
|
||||||
throw new ParseException(ParseException.ERROR_UNEXPECTED_EXCEPTION);
|
throw new ParseException(ParseException.ERROR_UNEXPECTED_EXCEPTION, e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -314,6 +314,7 @@ public class ExtendedJSONObject {
|
|||||||
return this.object.toJSONString();
|
return this.object.toJSONString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return this.object.toString();
|
return this.object.toString();
|
||||||
}
|
}
|
||||||
|
@ -2,13 +2,13 @@ package org.json.simple.parser;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* ParseException explains why and where the error occurs in source JSON text.
|
* ParseException explains why and where the error occurs in source JSON text.
|
||||||
*
|
*
|
||||||
* @author FangYidong<fangyidong@yahoo.com.cn>
|
* @author FangYidong<fangyidong@yahoo.com.cn>
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class ParseException extends Exception {
|
public class ParseException extends Exception {
|
||||||
private static final long serialVersionUID = -7880698968187728548L;
|
private static final long serialVersionUID = -7880698968187728548L;
|
||||||
|
|
||||||
public static final int ERROR_UNEXPECTED_CHAR = 0;
|
public static final int ERROR_UNEXPECTED_CHAR = 0;
|
||||||
public static final int ERROR_UNEXPECTED_TOKEN = 1;
|
public static final int ERROR_UNEXPECTED_TOKEN = 1;
|
||||||
public static final int ERROR_UNEXPECTED_EXCEPTION = 2;
|
public static final int ERROR_UNEXPECTED_EXCEPTION = 2;
|
||||||
@ -16,45 +16,50 @@ public class ParseException extends Exception {
|
|||||||
private int errorType;
|
private int errorType;
|
||||||
private Object unexpectedObject;
|
private Object unexpectedObject;
|
||||||
private int position;
|
private int position;
|
||||||
|
|
||||||
public ParseException(int errorType){
|
public ParseException(int errorType, Throwable throwable) {
|
||||||
this(-1, errorType, null);
|
this(-1, errorType, null, throwable);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ParseException(int errorType, Object unexpectedObject){
|
public ParseException(int errorType, Object unexpectedObject) {
|
||||||
this(-1, errorType, unexpectedObject);
|
this(-1, errorType, unexpectedObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ParseException(int position, int errorType, Object unexpectedObject){
|
public ParseException(int position, int errorType, Object unexpectedObject) {
|
||||||
this.position = position;
|
this(-1, errorType, unexpectedObject, null);
|
||||||
this.errorType = errorType;
|
|
||||||
this.unexpectedObject = unexpectedObject;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ParseException(int position, int errorType, Object unexpectedObject, Throwable throwable) {
|
||||||
|
super(throwable);
|
||||||
|
this.position = position;
|
||||||
|
this.errorType = errorType;
|
||||||
|
this.unexpectedObject = unexpectedObject;
|
||||||
|
}
|
||||||
|
|
||||||
public int getErrorType() {
|
public int getErrorType() {
|
||||||
return errorType;
|
return errorType;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setErrorType(int errorType) {
|
public void setErrorType(int errorType) {
|
||||||
this.errorType = errorType;
|
this.errorType = errorType;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see org.json.simple.parser.JSONParser#getPosition()
|
* @see org.json.simple.parser.JSONParser#getPosition()
|
||||||
*
|
*
|
||||||
* @return The character position (starting with 0) of the input where the error occurs.
|
* @return The character position (starting with 0) of the input where the error occurs.
|
||||||
*/
|
*/
|
||||||
public int getPosition() {
|
public int getPosition() {
|
||||||
return position;
|
return position;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPosition(int position) {
|
public void setPosition(int position) {
|
||||||
this.position = position;
|
this.position = position;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see org.json.simple.parser.Yytoken
|
* @see org.json.simple.parser.Yytoken
|
||||||
*
|
*
|
||||||
* @return One of the following base on the value of errorType:
|
* @return One of the following base on the value of errorType:
|
||||||
* ERROR_UNEXPECTED_CHAR java.lang.Character
|
* ERROR_UNEXPECTED_CHAR java.lang.Character
|
||||||
* ERROR_UNEXPECTED_TOKEN org.json.simple.parser.Yytoken
|
* ERROR_UNEXPECTED_TOKEN org.json.simple.parser.Yytoken
|
||||||
@ -63,14 +68,15 @@ public class ParseException extends Exception {
|
|||||||
public Object getUnexpectedObject() {
|
public Object getUnexpectedObject() {
|
||||||
return unexpectedObject;
|
return unexpectedObject;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setUnexpectedObject(Object unexpectedObject) {
|
public void setUnexpectedObject(Object unexpectedObject) {
|
||||||
this.unexpectedObject = unexpectedObject;
|
this.unexpectedObject = unexpectedObject;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String toString(){
|
@Override
|
||||||
|
public String toString(){
|
||||||
StringBuffer sb = new StringBuffer();
|
StringBuffer sb = new StringBuffer();
|
||||||
|
|
||||||
switch(errorType){
|
switch(errorType){
|
||||||
case ERROR_UNEXPECTED_CHAR:
|
case ERROR_UNEXPECTED_CHAR:
|
||||||
sb.append("Unexpected character (").append(unexpectedObject).append(") at position ").append(position).append(".");
|
sb.append("Unexpected character (").append(unexpectedObject).append(") at position ").append(position).append(".");
|
||||||
|
Loading…
Reference in New Issue
Block a user