Son olarak bir blok içinde, bir istisnanın yükseltildiğini söylemek mümkün mü?Delphi özel durum yığınında olduğumu nasıl anlarım?
cevap
Sen kontrol edebilir ExceptObject veya ExceptAddr atanmışsa . VCL kaynağında, bu sınav için yapılır. GIFImg.pas veya jpeg.pas içinde.
Aşağıdaki kod gerektiği çıkış
ExceptObject <> nil
ExceptObject =
nil ve daha sonra istisna kaldırırsanız tabii
ExceptObject = nil
ExceptObject =
try
try
raise Exception.Create('Just an exception');
finally
if ExceptObject <> nil then
WriteLn('ExceptObject <> nil')
else
WriteLn('ExceptObject = nil');
end;
except
end;
if ExceptObject <> nil then
WriteLn('ExceptObject <> nil')
else
WriteLn('ExceptObject = nil');
Hey, seni burada görmek güzel! –
Bu bir kesmek gibidir, ancak AcquireExceptionObject öğesini çağırmayı deneyebilirsiniz. Bir istisna durumundaysanız, bir dönüş değeri alırsınız, aksi halde sıfırlanırsınız.
(. Eğer bir tane olsaydı, sonradan ReleaseExceptionObject aramak emin olun)
AFAIK bu sadece iç içe deneyin ifadelerle elde edilebilir:
Try
Try
...
Except
...
End;
Finally
...
End
- 1. Delphi Firemonkey "Broken Pipe" Özel Durum
- 2. Delphi SetLength özel dizin Delphi
- 3. sahip olduğumu nasıl web.config
- 4. Randevunun özel olup olmadığını nasıl anlarım?
- 5. Swagger-codgen'e özel jeneratörü nasıl anlarım?
- 6. Özel Delphi Renkler
- 7. Özel bir özel durum döndürme
- 8. Bir düzenlemeden mi yoksa oluşturmadan mı önce olduğumu nasıl anlarım? CakePHP
- 9. Tamsayı aralıkları için Delphi durum bildirimi
- 10. PostgreSQL Özel Durum İşleme
- 11. İki poligonun kesiştiğini nasıl anlarım?
- 12. Emacs'e git dalımın nasıl değiştiğini nasıl anlarım?
- 13. Özel istisna türleri için özel durum türleri için "Özel durum ne zaman kırılır" özelliği nasıl kapatılır
- 14. hata özel durum
- 15. windbg özel durum
- 16. Görevdeki özel durum istisnası
- 17. C girişi, özel durum?
- 18. UI'ye özel durum iletisi
- 19. ThreadPools'ta özel durum yönetimi
- 20. EmguCV 'Emgu.CV.CvInvoke' Özel Durum
- 21. Wcf özel durum yönetimi
- 22. İşlenmeyen özel durum
- 23. cfscript ile özel bir özel durum yakalamak
- 24. Yatay yığın yığınında 2 eleman nasıl ortalanır
- 25. Symfony 2'de özel durum nasıl yakalanır?
- 26. VB.NET'te bir özel durum nasıl oluşturulur
- 27. Python subprocess.check_output() özel durum çıktısı nasıl alınır?
- 28. Python günlüğünde özel durum yığınlarını nasıl biçimlendirebilirim?
- 29. Inno Kurulumu Özel durum yakalanmadı
- 30. Özel durum nesnesi ömür boyu
İsterseniz ister misiniz? 'nihayet' bloğunda * çünkü * bir istisna kaldırıldı, ya da programda bir istisna * olup olmadığı, örneğin bir 'except' bölümü içinden bir "try-finally" bloğu girdiğinizde olduğu gibi? –