2013-06-19 158 views
4

我知道在C中沒有內置的try-catch語句,但是MATLAB有助於爲MEX文件提供任何類型的try-catch功能?我試圖按照http://www.di.unipi.it/~nids/docs/longjump_try_trow_catch.html中描述的方式使用LongjmpSetjmp,但我沒有成功。其他人有沒有想出一個辦法?有沒有辦法在mex文件中製作try-catch語句?

+0

過了一段時間,但我似乎記得試圖通過visual studio運行一個mex dll,然後指定matlab.exe作爲啓動程序。或者,您可以附加到VS的matlab.exe並加載您編譯的mex調試符號。 –

+1

「錯誤」從哪裏來? C沒有例外的概念,那麼你究竟想要捕捉什麼呢? – wakjah

+0

@robguinness:您的網址有一個錯字:[http://www.di.unipi.it/~nids/docs/longjump_try_trow_catch.html](http://www.di.unipi.it/~nids/docs/ longjump_try_trow_catch.html)。另外,你是否知道爲什麼'setjmp.h'方法不適合你? – horchler

回答

3
+0

呃......注意指定「在C」中的問題.... – robguinness

+0

@robguinness:我知道。但是,在很多情況下,人們可以毫無問題地轉換到C++,所以我認爲這些信息在這方面很有價值。當然你可以不接受我的答案:)我不知道任何MEX特定的純C錯誤處理機制。 –

+0

這是真的。我猜如果在C中沒有辦法做,我可能會使用你的建議。等待看看是否有任何其他答案,但... – robguinness

相關問題