WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Programausführung bei errordlg unterbrechen

 

Bregor
Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 22.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.11.2013, 16:48     Titel: Programausführung bei errordlg unterbrechen
  Antworten mit Zitat      
Hallo,

ich habe schon viel gesucht, aber keine zufriedenstellende Lösung gefunden

Im Prinzip möchte ich folgendes machen:

Code:
a = 1;
if a = 1
    errordlg('a ist nicht 2','Program wird beendet');
    <Platzhalter für Befehl>
end
 


Das Problem: Wenn ich an diese stelle komme, brauche ich einen Befehl, welcher die Ausführung des Matlabscriptes beendet. Ich habe ein paar workarounds gefunden, aber keinen simplen Befehl.

Exit schließt ja ganz Matlab, das möchte ich nicht, ich möchte nur das Program unterbrechen. Ähnlich der Funktion ctrl + c.

Gibt es so einen simplen Befehl überhaupt?
Private Nachricht senden Benutzer-Profile anzeigen


Kascho
Forum-Century

Forum-Century


Beiträge: 195
Anmeldedatum: 24.03.10
Wohnort: Jena
Version: R2008b ... :(
     Beitrag Verfasst am: 11.11.2013, 16:50     Titel:
  Antworten mit Zitat      
Hi,
vllt.

Code:
?

Gruß, Kascho
Private Nachricht senden Benutzer-Profile anzeigen
 
Bregor
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 22.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.11.2013, 17:16     Titel:
  Antworten mit Zitat      
Hallo,

return bringt mir leider nichts, da sich die Fehlerabfrage in einer Subfunktion befindet, er dann also in der Hauptfile einfach zur nächsten weitergeht.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 11.11.2013, 17:37     Titel:
  Antworten mit Zitat      
Hallo,

wie wäre es mit
Code:


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Bregor
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 22.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.11.2013, 17:48     Titel:
  Antworten mit Zitat      
Da habe ich von gelesen, weis aber nicht genau wie ich es anwenden soll.

bei meinem Beispiel, wäre das dann:

Code:
a = 1;
if a = 1
    error('a ist nicht 2');
end
 


oder wie?
Private Nachricht senden Benutzer-Profile anzeigen
 
BlackDread
Forum-Century

Forum-Century


Beiträge: 212
Anmeldedatum: 11.05.11
Wohnort: ---
Version: 2015a
     Beitrag Verfasst am: 11.11.2013, 17:50     Titel:
  Antworten mit Zitat      
Hallo,

alternativ setze dir ein Errorflag und Werte das in der Hauptfunktion aus.

Grüße
Chris
_________________

--> Kapieren statt Kopieren <---
____________________________________________________
FAQs sind dazu da, FAQs zu beantworten Wink
Richtig fragen!
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 11.11.2013, 17:59     Titel:
  Antworten mit Zitat      
Hallo,

klar kannst du das so wie von dir beschrieben machen. Ich dachte, dass du errordlg bewusst eingesetzt hast, weil du die Fehlermeldung als Popup haben möchtest. Allerdings bricht dies das Programm nicht ab, was du durch ein nachgeschobenes error(' ') erreichen kannst.
Code:

a = 1;
if a = 1
    errordlg('a ist nicht 2','Program wird beendet');
    error(' ')
end


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Bregor
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 22.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.11.2013, 18:04     Titel:
  Antworten mit Zitat      
Ok, habs mir error hinbekommen.

Der Fehler war, das es in einer Try-Catch schleife stand...

Danke Harald, genauso habe ich es jetzt gemacht. Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Bregor
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 22.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.11.2013, 18:23     Titel:
  Antworten mit Zitat      
Ok, funktioniert doch nicht....

Er geht über den Error Befehl einfach hinweg, führt die Zeile zwar wohl aus, aber nicht richtig irgendwie...

Aha, man MUSS etwas drinstehen also

Code:
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 11.11.2013, 18:30     Titel:
  Antworten mit Zitat      
Hallo,

du musst in den error-String zumindest ein Leerzeichen reinschreiben.
Wenn du nur '' nimmst, wird es übergangen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.