2

数千行のコードを実行する Matlab 関数があります。ある条件下では、それは壊れています。コードをデバッグして、段階的に実行することもできます。

そのため、エラーを処理するために Matlab でブロックをキャッチしてみました。これに加えて、コードの行番号も取得できますか。

例えば ​​:

try
 Error here <-----
catch err
disp(['Error occured on line No ' num2str(lineNo])
end

どのように実装できますか?

4

4 に答える 4

4

これを試して。これにより、完全なスタックとともに行番号が出力されます。

try
    %some code;
catch exc
    getReport(exc, 'extended')
end
于 2013-05-09T02:58:50.837 に答える
2

使用を検討することもできます

>> dbstop if error

コードを実行する前: エラーが発生すると、Matlab はデバッグ ブレークポイントを作成し、エラーでデバッグできるようにします。

于 2013-05-09T06:05:31.353 に答える
0

この方法で試すことができます:

try
  Error here <--------------
catch err
    disp([err.identifier]);
    disp([err.message]);
    for e=1:length(err.stack)
       disp(['Error in ' err.stack(e).file ' at line ' num2str(err.stack(e).line)]); 
    end
end
于 2014-10-30T10:09:22.583 に答える