1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
/**
* Common JSON error class, to make error handling easier.
*/
class JsonError extends Exception {
// Create.
init(Str message) {
init { error = message; }
}
// Error message.
Str error;
}
/**
* Parse error.
*/
class JsonParseError extends JsonError {
// Create.
init(Str message) {
init(message) {}
}
// Format.
void message(StrBuf to) {
to << "JSON parse error: " << error;
}
}
/**
* Error thrown when accessing JSON data.
*/
class JsonAccessError extends JsonError {
// Create.
init(Str message, JsonValue value) {
init(message) { value = value; }
saveTrace();
}
// Json value.
JsonValue value;
// Message.
void message(StrBuf to) {
to << "JSON access error: " << error << "\nIn value: " << value;
}
}
|