2012-08-14 13 views
14

私はさまざまな他の機能を呼び出すmatlabスクリプトを持っています。私は次のようにあなたがおそらく推測できるようエラー処理中に完全なエラースタックを表示する

  try 
       matStart(MatObj); 
      catch err 
       msgbox('Error in Processing Figures!','Error!','error','modal'); 
       fprintf(2,err.message); 
       sprintf('\n'); 
       display(err.message); 
      end 

に可能性のあるエラーを処理しています、これはこれが唯一のエラーの原因となった非常に最初の関数を出力しますexception.Butの原因となったエラーを出力します。エラーが発生した最後のネストされた関数まで、エラースタック全体を表示する必要があります。できますか?

答えて

16

はい、探している機能は「getReport」です。あなたは '拡張された'レポートが必要です。 getReportを使用して

、あなたのコードはもちろん、テキストが赤ではないでしょうが、完全なスタックトレースを出力MATLABでキャッチされない例外と同じ情報が表示されます。この

 try 
      matStart(MatObj); 
     catch err 
      msgbox('Error in Processing Figures!','Error!','error','modal'); 
      disp(getReport(err,'extended')); 
     end 

このようになります。あなたは「標準エラー」出力ストリームにエラー・スタックを印刷したい場合はthewoprの答え@に続いて

9

は、あなたがそうのように、赤色で印刷されたテキストを持つことができます。

... 
fprintf(2, '%s\n', getReport(err, 'extended')); 
... 
関連する問題