Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
elisp: try/catch und throw a.k.a. condition-case und signal?

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - Allgemein
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
bakunin



Anmeldungsdatum: 16.08.1999
Beiträge: 597
Wohnort: Lorsch (Südhessen)

BeitragVerfasst am: 10. Feb 2002 20:29   Titel: elisp: try/catch und throw a.k.a. condition-case und signal?

Hi!

Ich werde hier leider gerade aus der vorhandenen Dokumentation nicht schlau, was aber wohl an meiner geringen Erfahrung mit elisp zusammenhängt. Ich habe irgendwo bei www.dotemacs.de gelesen, dass man mit condition-case eine Art try/catch basteln kann. Ja, das funktioniert auch:

code:

(condition-case err
(progn
(message "Hallo")
(undefined-function-call))
(error err))



Ja, der Aufruf der nicht existierenden Funktion wird dabei aufgefangen, nur wie kann ich selbst einen bestimmten Fehler auslösen, den ich mit entsprechendem Code auffangen kann? Irgendwie mit signal offenbar, aber ich weiß nicht, wie das gehen soll.

Cheers,
GNU/Wolfgang


Zuletzt bearbeitet von bakunin am 10. Feb 2002 20:29, insgesamt 1-mal bearbeitet
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen

bakunin



Anmeldungsdatum: 16.08.1999
Beiträge: 597
Wohnort: Lorsch (Südhessen)

BeitragVerfasst am: 11. Feb 2002 11:26   Titel: Re: elisp: try/catch und throw a.k.a. condition-case und signal?

Hi!

Ok, nicht durch Nachdenken, sondern durch Rumprobieren habe ich eine Lösung gefunden:

code:

(progn
(condition-case err
(progn
(message "Hello")
(signal 'error '(Foo bar))
(goto-char (point-min))) ;; Not reached
(error (message "%s" (cdr err))))
(sleep-for 2)
(beginning-of-line))



Cheers,
GNU/Wolfgang
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - Allgemein Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy