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

globales try catch (fehler abfangen)

 

MatLabNooB
Forum-Guru

Forum-Guru


Beiträge: 262
Anmeldedatum: 27.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.12.2010, 19:02     Titel: globales try catch (fehler abfangen)
  Antworten mit Zitat      
Hallo,

ich würde gern, wenn ein Fehler in meinem Programm, also inklusive Unterfunktionen, auftaucht eine selbsterstellten errordlg einblenden können. Jetzt ist es aber doch ein bisschen mühsam um jede einzelne unterfunktion einen try catch block zu setzen O.O, gibts es nicht so ne art listener, den man erstellen kann, der, sollte ein fehler erscheinen, geweckt wird?

gruß
Private Nachricht senden Benutzer-Profile anzeigen


Sco
Forum-Meister

Forum-Meister


Beiträge: 699
Anmeldedatum: 15.08.10
Wohnort: Dundee
Version: 2008a, 2010a
     Beitrag Verfasst am: 04.12.2010, 19:40     Titel:
  Antworten mit Zitat      
Hallo,

bezüglich des Listeners kann ich dir leider nicht weiterhelfen. Aber wenn es wirklich nur um das Abfangen von Fehlern geht reicht es doch aus einfach deine Hauptfunktion in ein try-catch-end Konstrukt einzubetten. Somit werden auch die Fehler aus den Unterfunktionen abgefangen. Also ist es ja auch eine Art Listener Smile

MFG

Sco
Private Nachricht senden Benutzer-Profile anzeigen
 
MatLabNooB
Themenstarter

Forum-Guru

Forum-Guru


Beiträge: 262
Anmeldedatum: 27.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.12.2010, 19:46     Titel:
  Antworten mit Zitat      
ja, das hatte ich auch versucht, funktioniert nur leider nicht (oder klappt das nicht bei nested functions?)
Private Nachricht senden Benutzer-Profile anzeigen
 
Sco
Forum-Meister

Forum-Meister


Beiträge: 699
Anmeldedatum: 15.08.10
Wohnort: Dundee
Version: 2008a, 2010a
     Beitrag Verfasst am: 04.12.2010, 20:17     Titel:
  Antworten mit Zitat      
Hallo,

mhh also das sollte trotzdem funktionieren. Also dieses Minimalbeispiel funktioniert bei mir:
Code:

function test

try
    [a] = Summe
catch err
    msgbox(err.message);
end

    function [m] = Summe % nested function
        m = p;
    end

end
 


Vielleicht postest du mal einen Ausschnitt aus deinem Code, da ich nicht nachvollziehen kann warum es nicht geht.

MFG

Sco
Private Nachricht senden Benutzer-Profile anzeigen
 
MatLabNooB
Themenstarter

Forum-Guru

Forum-Guru


Beiträge: 262
Anmeldedatum: 27.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.12.2010, 20:45     Titel:
  Antworten mit Zitat      
es scheint daran zu liegen, dass die nested functions über uipushbuttons aufgerufen werden, hier mal ein beispiel:
Code:
function test
try
figure;
hToolBar = findall(gcf,'Type','uitoolbar');
hToggleList = findall(hToolBar);
delete(hToggleList(2:18))
uipushtool(...
        'Parent', hToolBar,...
        'CData', repmat(rand(16), [1 1 3]),...
        'ClickedCallback', @btnCallback)
catch ME
disp(ME)
end
    function btnCallback(src,event)
        p;
    end
end

wenn ich in die nested function wieder nen block setzte gehts, aber das will ich nicht für zich funktionen machen, hilfe! ^^
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.