Delphi 10运行时错误仅调试器可见,无调试时程序终止如何解决?
解决Delphi程序直接运行无错误提示的问题
启用Delphi运行时错误弹窗
打开Delphi IDE,依次点击Tools->Options,在窗口中展开Debugger->Embarcadero Debuggers->OS Exception,勾选Show exception message dialog选项。部分Delphi版本需在Project->Options->Build->Runtime Errors中,确认Stop on Delphi exceptions相关选项已正确设置,让程序遇未处理异常时弹出提示。添加全局异常捕获代码
在项目文件(.dpr)的主运行逻辑中,用try...except包裹核心代码,手动捕获并展示错误信息,还可写入日志方便排查:begin Application.Initialize; Application.MainFormOnTaskbar := True; try Application.CreateForm(TForm1, Form1); Application.Run; except on E: Exception do begin ShowMessage('程序错误: ' + E.Message + #13#10 + '错误类型: ' + E.ClassName); // 写入错误日志到文件 with TStringList.Create do try Add(DateTimeToStr(Now) + ' - ' + E.ClassName + ': ' + E.Message); SaveToFile('error_log.txt'); finally Free; end; end; end; end.为文件操作添加局部异常处理
在读取文件的代码块中,针对性捕获文件名错误这类异常,避免异常扩散导致程序直接终止:procedure TForm1.ReadFileBtnClick(Sender: TObject); var FileStream: TFileStream; begin try FileStream := TFileStream.Create('目标文件名.txt', fmOpenRead); try // 文件读取逻辑 finally FileStream.Free; end; except on E: EFileNotFoundException do begin ShowMessage('文件不存在,请检查文件名: ' + E.FileName); end; on E: Exception do begin ShowMessage('文件读取失败: ' + E.Message); end; end; end;检查Windows系统错误报告设置
右键此电脑->属性->高级系统设置->高级标签下点击错误报告,选择启用错误报告或勾选但在发生严重错误时通知我,确保系统在程序崩溃时给出基础提示。
内容的提问来源于stack exchange,提问作者Andrew Mandra
相关产品推荐
相关产品推荐

