有沒有一種方法可以指定在Matlab中發生錯誤時運行的代碼? Googling我遇到了RunTimeErrorFcn和daqcallback,但我相信這些都是特定於數據採集工具箱。當我只是爲了一個錯誤而行,比如訪問一個未分配的變量時,我想要一些東西。 (我用了一個名爲PsychToolbox庫接管GPU,所以我希望能夠返回到命令提示符之前清除其屏幕。)在任何運行時錯誤後在Matlab中指定回調
4
A
回答
5
一個技巧就是通過發出命令來使用Error Breakpoints:
dbstop if error
當啓用時,會導致MATLAB在錯誤點進入調試模式。您可以從主工具欄上的Debug
菜單訪問相同的功能。
5
如果您在TRY/CATCH塊包裝你的代碼,你可以,如果發生錯誤,它可以根據使用MEXCEPTION對象的特定錯誤定製執行代碼。
try
% do something here
catch me
% execute code depending on the identifier of the error
switch me.identifier
case 'something'
% run code specifically for the error with identifier 'something'
otherwise
% display the unhandled errors; you could also report the stack in me.stack
disp(me.message)
end % switch
end % try/catch
0
如果有人使用GUI,並希望有一個「全球性」的錯誤檢測,比的解決方案可能是這個樣子......
function varargout = Program(varargin)
try
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @program_OpeningFcn, ...
'gui_OutputFcn', @program_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
catch exception
beep
h = errordlg('Unexpected error, the program will be restarted.','Syntax
error','modal');
uiwait(h)
Program
end
相關問題
- 1. 在實時linux中調度任務時的運行時錯誤?
- 2. jQuery的ajaxStop事件停止任何Ajax回調運行時錯誤燒成後
- 3. 在Rcpp中調試運行時錯誤
- 4. 執行後不會調用回調沒有任何錯誤
- 5. C++回調函數運行時錯誤
- 6. 如何爲指定的Matlab運行時(MCR)編譯Matlab腳本
- 7. MATLAB錯誤,同時評估uicontrol回調
- 8. 錯誤運行在Python子()調用時
- 9. 在運行時指定
- 10. 錯誤回調沒有任何錯誤
- 11. Matlab的GUI回調錯誤
- 12. 如何獨立運行回調函數指導matlab
- 13. 在glnx86中運行MATLAB時出現的段錯誤64bit
- 14. FSEEK錯誤,同時運行MATLAB函數
- 15. 在執行conf.js時,發出錯誤消息'異步回調未在jasmine.DEFAULT_TIMEOUT_INTERVAL指定的超時時間內調用'
- 16. •錯誤:超時 - 在jasmine.DEFAULT_TIMEOUT_INTERVAL指定的超時內沒有調用異步回調。
- 17. 如何使用node-schedule在指定的時間運行任務?
- 18. 調試MATLAB:在特定行發生錯誤前中斷
- 19. 在後臺運行matlab
- 20. 如何在gradle中運行任務後運行集成任務?
- 21. 如何在運行時指定數組?
- 22. 錯誤運行從MATLAB
- 23. 如何在VBA中調試運行時錯誤13?
- 24. 如何在Excel VBA中調試運行時語法錯誤?
- 25. Matlab定時器的回調
- 26. Matlab RMI在函數中的錯誤包含在啓動時和運行時
- 27. 如何調試Android運行時錯誤?
- 28. 在任務調度程序中運行C程序時出錯
- 29. 運行時錯誤在Worksheet_Change
- 30. 運行時錯誤在vC++
是否有可能,也許,寫了一個修改「DBSTOP 「運行一些代碼然後發送給內置的? (感謝嘗試/捕捉的想法,Jonas。) – JmG 2010-06-11 14:36:50