MATLAB提供了信令了毛病兩種機制:在error
功能和語言的異常處理機制MException
+ try
/catch
/throw
。異常與錯誤在Matlab
看起來它們在很大程度上是等效的:error
函數和MException
函數的語法非常相似。通過error()
引發的錯誤可以被catch
捕獲,而與錯誤相關的工具(如dbstop if error
和lasterr
)似乎也可以處理異常。
是否曾有理由更喜歡error('Foo:Bar', 'Some human-readable message about bar')
至throw(MException('Foo:Bar', 'Some human-readable message'))
,反之亦然?
(他們都是內置插件,所以你不能只是打開(如)error.m,查看是否是周圍的其他瑣碎的包裝!)
有道理 - 即使MException類文檔的URL也告訴「capture-information-about-errors.html」。我不認爲你看到任何地方的鏈接暗示他們實際上是相同的? –