Matlab: Gibt es eine Möglichkeit, die Codeausführung programmgesteuert sicher anzuhalten (wie FORTRANs Stopp)? [geschlossen]


10

Wie der Titel schon sagt, möchte ich in der Lage sein, den Code an einer bestimmten Stelle anzuhalten und sicher anzuhalten. Ich kann keinen Befehl finden, um dies zu tun, wie zum Beispiel in FORTRAN gibt es den Befehl stop.

Antworten:


15

Die Funktion beendet error('error message');Ihr Programm und druckt die Fehlermeldung an die Konsole.


2

Es besteht breakdie returnMöglichkeit, eine Schleife zu verlassen und zur aufrufenden Funktion oder Tastatur / Eingabeaufforderung zurückzukehren.


1

Hier ist eine Funktion, die dies tut (ohne eine Nachricht zu drucken):

function stoprun()
  ms.message='';
  ms.stack = dbstack('-completenames');
  ms.stack(1:end) = [];
  ds = dbstatus();
  stoponerror = any(strcmp('error', {ds.cond}));
  setappdata(0, 'dberrorkeep', stoponerror);
  dbclear error
  error(ms);
end

-2

Sie können "return" verwenden und es wird "die Steuerung an die aufrufende Funktion zurückgeben, bevor sie das Ende der Funktion erreicht", was für das Hauptprogramm bedeutet, das Programm zu verlassen.


Was passiert, wenn Sie keine Funktion haben?
Nicoguaro
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.