Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.177 Beiträge
 
Delphi 12 Athens
 
#7

AW: JSON is valid or not

  Alt 22. Jan 2022, 16: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);
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (22. Jan 2022 um 16:27 Uhr)
  Mit Zitat antworten Zitat