Die Doku is kompletter Unfug. ReleaseExceptionObject kann gar nicht das machen, was da steht, weil man AcquireExceptionObject so oft und auf so viele Exceptions machen kann, wie man will. Wenn man sie freigeben möchte, reicht ein einfaches Free bzw auf nil setzen der Variable unter ARC (ab Delphi 10.2).
Vorher war die Funktion unter ARC noch verbuggt, da sie einen Pointer zurücklieferte und somit ARC umging (siehe
https://quality.embarcadero.com/browse/RSP-13652)
Korrektur: Das mit dem RefCount in ReleaseExceptionObject ist nur unter dem IFDEF PC_MAPPED_EXCEPTIONS und hat mit ARC nix zu tun - guckstu:
http://docwiki.embarcadero.com/RADSt...ped_Exceptions