在Delphi中,我有一個例程層次結構。例程'A'調用'B'調用'C'調用'D'。 'D'進行一些檢查,並且遇到某種類型的錯誤,可能是異常,可能只是一個邏輯錯誤。無論如何,當'D'遇到錯誤時,是否有控制權返回到'A'而沒有'D'返回'C'檢查的'失敗'碼,其返回失敗碼'B' '檢查,等...?德爾福如何退出到頂級例程錯誤
感謝
GS
在Delphi中,我有一個例程層次結構。例程'A'調用'B'調用'C'調用'D'。 'D'進行一些檢查,並且遇到某種類型的錯誤,可能是異常,可能只是一個邏輯錯誤。無論如何,當'D'遇到錯誤時,是否有控制權返回到'A'而沒有'D'返回'C'檢查的'失敗'碼,其返回失敗碼'B' '檢查,等...?德爾福如何退出到頂級例程錯誤
感謝
GS
正好有兩種方法可以做到你想要什麼:
你不希望使用選項1,使葉片選項2.
選項2它是....感謝 – user1009073 2013-03-12 12:58:25
請注意,您現在選擇了必須遵守的「錯誤傳播方法」:請勿永遠引入另一個嘗試/ B或C除外,除非它重新引發異常。如果你的系統變大了,忘記這一點很容易;-) – 2013-03-13 08:18:22
如果提高在d異常並有一個嘗試 - 除了塊,你可以捕捉它。您可以引發T_D_Exception,以便您可以在A中識別它。 – kobik 2013-03-12 12:53:12