从 MATLAB 调用 C++ 可执行文件时如何绕过错误对话框?
How to bypass an error dialog when calling a C++ executable from MATLAB?
我需要 运行 来自 MATLAB 中 for
循环的 C++ 可执行文件。为此,我编写了以下代码,
EqNumbers = [17 18 20 21 22 23];
for i = 1:length(EqNumbers)
EqNumber = EqNumbers(i);
WriteRunE_File(EqNumber);
filename=['RunE_1.tcl'];
system(['OpenSees.exe<',filename]);
end
大部分时间都运行良好,但有时会出现调试错误(如下所示)。它提示我采取行动,如果我按下 "Abort" 按钮,程序将继续进行下一次迭代。我只是想让这个过程自动化,每次手动按下中止按钮对我来说是不可能的,因为程序中有超过 1000 次迭代。
我试过如下使用try-catch end
,但没有达到目的。
EqNumbers = [17 18 20 21 22 23];
for i = 1:length(EqNumbers)
try
% Code to be executed goes here.
EqNumber = EqNumbers(i);
WriteRunE_File(EqNumber);
filename=['RunE_1.tcl'];
system(['OpenSees.exe<',filename]);
catch
disp('An error occurred in Equke');
disp('Execution will continue.');
end
end
我正在寻找绕过错误消息或自动按下 "Abort" 按钮的方法。使程序自动进入下一次迭代
注:
我无权访问 C++ 源代码(我只有一个可执行文件),因此我无法更新 citaR
的值。这就是我在 MATLAB 中寻找解决方法的原因。
MATLAB 没有弹出这个对话框。你的系统是。
有人创建了一个使用未初始化变量并具有未定义行为的程序。他们在调试模式下构建它。这种组合导致断言。你不能把它关掉。
即使可以,您也在中止程序。这并不意味着 "ignore the problem":它意味着 "abort the program"。它没有完成它的工作。它坠毁了。每一次。
可执行文件有问题。期间.
程序的作者应该给你一个发布版本:理想情况下,一个没有错误的版本。
或者,由于该程序是开源的并且可以找到 right here,您可以尝试构建一个新版本,或者对其进行调试并提供修复。
我需要 运行 来自 MATLAB 中 for
循环的 C++ 可执行文件。为此,我编写了以下代码,
EqNumbers = [17 18 20 21 22 23];
for i = 1:length(EqNumbers)
EqNumber = EqNumbers(i);
WriteRunE_File(EqNumber);
filename=['RunE_1.tcl'];
system(['OpenSees.exe<',filename]);
end
大部分时间都运行良好,但有时会出现调试错误(如下所示)。它提示我采取行动,如果我按下 "Abort" 按钮,程序将继续进行下一次迭代。我只是想让这个过程自动化,每次手动按下中止按钮对我来说是不可能的,因为程序中有超过 1000 次迭代。
我试过如下使用try-catch end
,但没有达到目的。
EqNumbers = [17 18 20 21 22 23];
for i = 1:length(EqNumbers)
try
% Code to be executed goes here.
EqNumber = EqNumbers(i);
WriteRunE_File(EqNumber);
filename=['RunE_1.tcl'];
system(['OpenSees.exe<',filename]);
catch
disp('An error occurred in Equke');
disp('Execution will continue.');
end
end
我正在寻找绕过错误消息或自动按下 "Abort" 按钮的方法。使程序自动进入下一次迭代
注:
我无权访问 C++ 源代码(我只有一个可执行文件),因此我无法更新 citaR
的值。这就是我在 MATLAB 中寻找解决方法的原因。
MATLAB 没有弹出这个对话框。你的系统是。
有人创建了一个使用未初始化变量并具有未定义行为的程序。他们在调试模式下构建它。这种组合导致断言。你不能把它关掉。
即使可以,您也在中止程序。这并不意味着 "ignore the problem":它意味着 "abort the program"。它没有完成它的工作。它坠毁了。每一次。
可执行文件有问题。期间.
程序的作者应该给你一个发布版本:理想情况下,一个没有错误的版本。
或者,由于该程序是开源的并且可以找到 right here,您可以尝试构建一个新版本,或者对其进行调试并提供修复。