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

Fehler abfangen und in Variabler speichern

 

MasterofDesaster
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 60
Anmeldedatum: 17.04.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.04.2010, 13:17     Titel: Fehler abfangen und in Variabler speichern
  Antworten mit Zitat      
Hallo,

ich habe ein Simulationsprogramm geschrieben und lasse dieses laufen. Da in dem Programm immer mal wieder Fehler vorkommen, habe ich folgendes eingebaut:
Code:
try
Simulationscode ('xyz')
catch
%irgendein Text für die Email und die Kontendaten
email.send
end
 


Jetzt habe ich dabei das Problem, dass ich keine "Error message" mehr bekomme. Gibt es eine Möglichkeit diese abzufangen und in einer Variablen zu speichern, damit ich sie gleich per Mail mit versenden kann?

Und gleich noch eine Frage, wie bekomme ich einen Zeilenumbruch in die Mail?

Code:
MailInhalt = strcat('In der Matlabsimulation ',mfilename,' liegt ein Fehler vor. Der Simulationslauf wurde abgebrochen!');


Mit "\\" oder "\n" funktioniert es bei mir nicht.

Gruß
Desaster
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: 19.04.2010, 13:26     Titel:
  Antworten mit Zitat      
Hallo,

Code:
try
Simulationscode ('xyz')
catch mException
%irgendein Text für die Email und die Kontendaten
end


... und dann die Variable mException analysieren.

Als Zeilenumbruch hilft evtl. char(10).

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 19.04.2010, 13:27     Titel:
  Antworten mit Zitat      
Hallo
zu Frage1
ab Matlab Version 2007b, kannst du die Variable direkt in CATCH definieren, an welche dann der Fehler zugewiesen wird:

Code:

try
Simulationscode ('xyz')
catch ME
disp(ME.message)
%irgendein Text für die Email und die Kontendaten
email.send
end
 



sonst lasterror-Befehl nutzen:
Code:

try
Simulationscode ('xyz')
catch
ME = lasterror()
disp(ME.message)
%irgendein Text für die Email und die Kontendaten
email.send
end
 





zu Frage2:
für Formatierung SPRINTF-Befehl nutzen:

Code:

MailInhalt = sprintf('In der Matlabsimulation %s liegt ein Fehler vor.\n Der Simulationslauf wurde abgebrochen!', mfilename);
 
Private Nachricht senden Benutzer-Profile anzeigen
 
MasterofDesaster
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 60
Anmeldedatum: 17.04.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.04.2010, 14:35     Titel:
  Antworten mit Zitat      
Super, danke!

Es funktioniert beides wunderbar Smile
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.