好吧,我目前是一個11年級的學生,這是IT。我正在嘗試完成一項實用任務,但遇到了一些問題,我正在使用的教科書沒有告訴我如何在用戶沒有將數據輸入到RichEdit中時創建錯誤消息。任何人都可以告訴我如何做到這一點?感謝您花時間幫助。創建錯誤消息德爾福7
回答
這是你如何養育一個通用的異常(使用SysUtils.Exception
類):
raise Exception.Create('Error Message');
未處理的異常會導致執行路徑逃入德爾福RTL的內部默認的異常處理程序,它會再次出現對用戶的價值Exception.Message
。
你甚至可以處理自己的異常這樣的:
try
...
raise Exception.Create('Error Message');
...
except
on E: Exception do
begin
ShowMessage(E.Message);
end;
end;
你不會真正做到這一點,雖然。您引發異常,以便調用您的方法的代碼可以處理該錯誤。
如果您想在其他地方(在調用者中)處理錯誤,請引發異常。
要簡單的顯示系統標準的錯誤對話框,您可以使用MessageDlg
:
MessageDlg('Error Message', mtError, [mbOK], 0);
在這種情況下,窗口的標題是簡單的「錯誤」。如果你必須設置一個標題,使用CreateMessageDialog
:
with CreateMessageDialog('Error Message', mtError, [mbOK], mbOK) do
begin
try
Caption := 'Error Caption';
ShowModal;
finally
Release;
end;
end;
的Exception
類是在System.SysUtils
。 MessageDlg
和CreateMessageDialog
在Vcl.Dialogs
。
或者使用TApplication.MessageBox()
方法:
Application.MessageBox('Error Message', 'Error Caption', MB_OK or MB_ICONERROR);
或者,如果使用'TApplication.MessageBox()'或'Winapi.MessageBox()'而不是'MessageDlg()',則可以將標題設置爲輸入參數。 –
@RemyLebeau,感謝您提高答案。 –
要考慮的另一件事是創建自己的異常類型,例如'ENoContent',它允許更系統地捕獲某些類型的異常,然後通過一個消息框在一個地方進行通用處理等。 –
- 1. 創建德爾福
- 2. 創建動畫splashscreen德爾福7
- 3. 選擇目錄錯誤...德爾福7
- 4. 在德爾福7
- 5. 德爾福7 __ArrayList
- 6. 德爾福XE8錯誤閱讀從德爾福7版本創建的文本文件,反之亦然
- 7. 消耗德爾福
- 8. 德爾福新手錯誤
- 9. 德爾福loadlibrary錯誤()
- 10. 錯誤DiskSize德爾福
- 11. 德爾福TRegEx錯誤?
- 12. 德爾福iPhone模擬器錯誤消息「會話結束」
- 13. 德爾福OOP計時器消息
- 14. 德爾福7和事件
- 15. 德爾福7寡婦8.1
- 16. 德爾福7繼承
- 17. 德爾福7和Windows Vista
- 18. 德爾福7 TAdoQuery太慢
- 19. 德爾福7對象undefinedat
- 20. 德爾福7德爾福XE2 res文件問題
- 21. 轉換德爾福7代碼與德爾福2009年工作
- 22. 翻譯代碼DLL注入德爾福7德爾福XE2
- 23. 德爾福v.Word - 如何從德爾福
- 24. 德爾福HID Delphi7和德爾福XE2
- 25. 德爾福MDI創建子窗體
- 26. 德爾福:動態創建TClientSocket
- 27. 德爾福創建組件模板
- 28. 德爾福TFRAME創建/銷燬
- 29. 德爾福:創建«手»形式
- 30. 德爾福:創建與上FORMCREATE
例如這種方式'如果RichEdit1.Text =''然後MessageDlg('該字段不能爲空!',mtError,[mbOK],0)'在將進行驗證的事件中(通常是'OnExit'事件)。 – TLama
謝謝!那很快...現在嘗試。 – DNgentle
@DNgentle一個建議是積極主動的,在把槍放下之前使用你的資源給你:-)。 –