Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
Delphi 12 Athens
|
AW: JSON is valid or not
22. Jan 2022, 17:10
Irgendwelche Sonder-/Steuerzeichen, die nur wie Leerzeichen aussehn oder nicht sichtbar sind?
Erstmal sollte man Fehler immer richtig behandeln und nicht irgendwelche sinnlose Texte rausgeben, denn "Error" sagt ja garnichts.
Delphi-Quellcode:
var Obj: TJSONValue;
try
Obj := TJsonObject.ParseJsonValue(Test.Text, {UseBool: True oder False} False, {RaiseExc: die Exception} True);
except
on E: EJSONParseException do begin
ShowMessage(' JSON-Error in TestBtnClick: ' + E. Message)
// oder E.Message := 'JSON-Error in TestBtnClick: ' + E.Message; Application.ShowException(E);
// oder E.Message := 'JSON-Error in TestBtnClick: ' + E.Message; System.SysUtils.ShowException(E, System.ExceptAddr);
// oder einfach nur "Raise;" , was hier im ButtonClick dann in Application.ShowException enden wird
// oder das Try-Except weglassen und direkt im Application.ShowException landen
// oder E.Line und E.Offset auswerten
// oder E.Position
// und eventuell auch noch E.Path, aber den Pfad kennst du hier ja schon
end;
end;
//ShowMessage('No Error');
Delphi-Quellcode:
ErrorText := Copy(Test.Text, E.Position, 15); // eventuell noch Low(Char) zur Position dazurechnen ... weiß nicht ob Position bei 1 oder 0 beginnt
// hier im ErrorText unlesbare Zeichen (z.B. kleiner ' ' oder größer #127) durch "Lesbares" ersetzen
E.Message := 'JSON-Error in TestBtnClick: ' E.Message + sLineBreak + sLineBreak + 'Fehlerstelle: »' + ErrorText + '«';
Application.ShowException(E);
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
Geändert von himitsu (22. Jan 2022 um 17:27 Uhr)
|