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
344693007a
commit
e44b215663
@ -54,7 +54,7 @@ public class ExtendedJSONObject {
|
||||
return getJSONParser().parse(in);
|
||||
} catch (Error e) {
|
||||
// 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);
|
||||
} catch (Error e) {
|
||||
// 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();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String 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.
|
||||
*
|
||||
*
|
||||
* @author FangYidong<fangyidong@yahoo.com.cn>
|
||||
*
|
||||
*/
|
||||
public class ParseException extends Exception {
|
||||
private static final long serialVersionUID = -7880698968187728548L;
|
||||
|
||||
|
||||
public static final int ERROR_UNEXPECTED_CHAR = 0;
|
||||
public static final int ERROR_UNEXPECTED_TOKEN = 1;
|
||||
public static final int ERROR_UNEXPECTED_EXCEPTION = 2;
|
||||
@ -16,45 +16,50 @@ public class ParseException extends Exception {
|
||||
private int errorType;
|
||||
private Object unexpectedObject;
|
||||
private int position;
|
||||
|
||||
public ParseException(int errorType){
|
||||
this(-1, errorType, null);
|
||||
|
||||
public ParseException(int errorType, Throwable throwable) {
|
||||
this(-1, errorType, null, throwable);
|
||||
}
|
||||
|
||||
public ParseException(int errorType, Object unexpectedObject){
|
||||
|
||||
public ParseException(int errorType, Object unexpectedObject) {
|
||||
this(-1, errorType, unexpectedObject);
|
||||
}
|
||||
|
||||
public ParseException(int position, int errorType, Object unexpectedObject){
|
||||
this.position = position;
|
||||
this.errorType = errorType;
|
||||
this.unexpectedObject = unexpectedObject;
|
||||
|
||||
public ParseException(int position, int errorType, Object unexpectedObject) {
|
||||
this(-1, errorType, unexpectedObject, null);
|
||||
}
|
||||
|
||||
|
||||
public ParseException(int position, int errorType, Object unexpectedObject, Throwable throwable) {
|
||||
super(throwable);
|
||||
this.position = position;
|
||||
this.errorType = errorType;
|
||||
this.unexpectedObject = unexpectedObject;
|
||||
}
|
||||
|
||||
public int getErrorType() {
|
||||
return errorType;
|
||||
}
|
||||
|
||||
|
||||
public void setErrorType(int errorType) {
|
||||
this.errorType = errorType;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @see org.json.simple.parser.JSONParser#getPosition()
|
||||
*
|
||||
*
|
||||
* @return The character position (starting with 0) of the input where the error occurs.
|
||||
*/
|
||||
public int getPosition() {
|
||||
return position;
|
||||
}
|
||||
|
||||
|
||||
public void setPosition(int position) {
|
||||
this.position = position;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @see org.json.simple.parser.Yytoken
|
||||
*
|
||||
*
|
||||
* @return One of the following base on the value of errorType:
|
||||
* ERROR_UNEXPECTED_CHAR java.lang.Character
|
||||
* ERROR_UNEXPECTED_TOKEN org.json.simple.parser.Yytoken
|
||||
@ -63,14 +68,15 @@ public class ParseException extends Exception {
|
||||
public Object getUnexpectedObject() {
|
||||
return unexpectedObject;
|
||||
}
|
||||
|
||||
|
||||
public void setUnexpectedObject(Object unexpectedObject) {
|
||||
this.unexpectedObject = unexpectedObject;
|
||||
}
|
||||
|
||||
public String toString(){
|
||||
|
||||
@Override
|
||||
public String toString(){
|
||||
StringBuffer sb = new StringBuffer();
|
||||
|
||||
|
||||
switch(errorType){
|
||||
case ERROR_UNEXPECTED_CHAR:
|
||||
sb.append("Unexpected character (").append(unexpectedObject).append(") at position ").append(position).append(".");
|
||||
|
Loading…
Reference in New Issue
Block a user