|
|
Fehlerdefinition try catch möglich? |
|
Thea |

Forum-Anfänger
|
 |
Beiträge: 10
|
 |
|
 |
Anmeldedatum: 16.10.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.07.2015, 18:47
Titel: Fehlerdefinition try catch möglich?
|
 |
Ich würde gern selber den Fehler definieren, bei dem matlab dann den catch code durchführen soll.
Ist das möglich? Welche möglichkeiten gibt es?
Danke euch!
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 20.07.2015, 19:28
Titel:
|
 |
Hallo,
ich verstehe die Frage nicht ganz. MATLAB springt vom try- in den catch-Teil, sobald im try-Teil irgendein Fehler (error) passiert. Das kann ein in einer dort aufgerufenen MATLAB-Funktion aufgetretener Fehler sein, aber auch ein selbst per error-Befehl erzeugter Fehler.
Im try-Block kann darauf nach Belieben reagiert werden.
Grüße,
Harald
|
|
|
Thea |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 10
|
 |
|
 |
Anmeldedatum: 16.10.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.07.2015, 19:37
Titel:
|
 |
Hallo Harald!
Danke für deine Antwort!
Wenn ich das jetzt richtig verstanden habe, dann kann man selbst einen error definieren und wenn zB. "error_eigen" auftaucht kann, springt matlab automatisch zu catch?
Ich brauche einen error der praktisch aufzeigt wann ein physikalisch unmögliches Ereignis eintritt, zB Luftfeuchte >1.
error= phi>1
Ich habe schon so viel gesucht und nichts passendes gefunden.
Mir kommt die HErangehensweise, wenn man selber einen Error definiert, aber genauso for wie eine if Bedingung.. oder gibt es einen Unterschied zwischen try und catch mit eigener Fehlerdefinition und if else ?
Ich glaube ich verstehe hier shcon seit einiger Zeit etwas nicht.. ich komme aber leider nicht weiter. Ich hoffe das war aber ansonsten verständlich, was ich gerade geschrieben habe.
Danke und VG!
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 20.07.2015, 19:50
Titel:
|
 |
Hallo,
bitte nicht mehrere Threads zum gleichen Thema.
Zitat: |
Mir kommt die HErangehensweise, wenn man selber einen Error definiert, aber genauso for wie eine if Bedingung.. |
Üblicherweise wird der Fehler ja in einer if-Anweisung erzeugt.
Zitat: |
oder gibt es einen Unterschied zwischen try und catch mit eigener Fehlerdefinition und if else ? |
Ich sehe da kaum Gemeinsamkeiten.
try-catch: bei jeglichem Fehler wird in den catch-Teil gegangen.
if-else: unter einer bestimmten Bedingung wird der folgende Block ausgeführt.
Grüße,
Harald
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 21.07.2015, 12:07
Titel:
|
 |
Hallo Thea,
Man verwendet
error
, um eine Funktion hart abzubrechen, weil es keine Möglichkeit gibt weiter zu rechnen und die Probleme unerwartet sind.
Mit TRY-CATCH versucht man solche Fehler abzufangen und kann im CATCH-Block noch eine angemessene Fehlermeldung erzeugen, Files schließen oder irgendetwas anderes wichtiges ausführen.
Wenn man das Problem schon vorher erahnen kann, kann man es per IF-Bedingung abfangen und auch einen geeigneten
error
erzeugen, aber auch irgendwelche Abhilfen starten, falls das möglich ist.
Beispiele
Wenn jetzt FileName nicht existiert, wird Matlab einen Fehler erzeugen und anzeigen, dass "fid" kein gültiger File-Identifier ist. Das ist keine sinnvolle Fehlermeldung.
Das ist auch nicht so gut, denn diese Problem könnte auch alles mögliche andere sein. Besser per IF direkt das Ergebnis testen, wenn man schon ahnen kann, dass beim Öffnen ein Fehler auftreten kann.
Etwas klarer jetzt?
Gruß, Jan
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 21.07.2015, 12:12
Titel:
|
 |
Hallo Thea,
Man verwendet
error
, um eine Funktion hart abzubrechen, weil es keine Möglichkeit gibt weiter zu rechnen und die Probleme unerwartet sind.
Mit TRY-CATCH versucht man solche Fehler abzufangen und kann im CATCH-Block noch eine angemessene Fehlermeldung erzeugen, Files schließen oder irgendetwas anderes wichtiges ausführen.
Wenn man das Problem schon vorher erahnen kann, kann man es per IF-Bedingung abfangen und auch einen geeigneten
error
erzeugen, aber auch irgendwelche Abhilfen starten, falls das möglich ist.
Beispiele
Wenn jetzt FileName nicht existiert, wird Matlab einen Fehler erzeugen und anzeigen, dass "fid" kein gültiger File-Identifier ist. Das ist keine sinnvolle Fehlermeldung.
Das ist auch nicht so gut, denn diese Problem könnte auch alles mögliche andere sein. Besser per IF direkt das Ergebnis testen, wenn man schon ahnen kann, dass beim Öffnen ein Fehler auftreten kann.
Etwas klarer jetzt?
Gruß, Jan
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|