Smalltalk Fehlerbehandlung

8

Ich habe einige Anfängereinführungen in Smalltalk gelesen und es gibt ein Thema, das fehlt. Es ist Fehlerbehandlung. Wie wird es gemacht? Werfen Objekte eine Art von Ausnahmen? Senden Sie einige Fehlermeldungen an jemanden?

    
milan 29.01.2011, 08:49
quelle

3 Antworten

19

Um eine Ausnahme auszulösen:

%Vor%

Um eine Ausnahme zu behandeln:

%Vor%

Um eine Ausnahme zu behandeln und einige der Informationen der Ausnahme zu verwenden:

%Vor%

Um sicherzustellen, dass immer etwas passiert (a la try finally ):

%Vor%     
Frank Shearar 29.01.2011, 09:55
quelle
5

Ich möchte nur darauf hinweisen, dass @Frank Shearar nebenbei bemerkt, dass es noch eine andere Möglichkeit gibt. Ich meine mit Absicht. Irgendwann ist es sinnvoller, dem Anrufer jetzt zu zeigen, welche Probleme werfen wird.

Die #on:do: ist vollkommen akzeptabel, aber die meiste Zeit wissen Sie nicht, was Sie als erstes Argument anführen sollen. block on: ?? do: something .

Lass mich ein Beispiel nehmen. Eigentlich gibt es ein Beispiel aus der Sammlung Bibliothek. Besonders in Bezug auf Wörterbuch.

%Vor%

Was passiert, wenn 4 nicht im Wörterbuch ist? Sie erhalten nur einen einfachen Fehler, den Sie in #on:do: fangen müssen.

Aber es gibt einen besseren Weg, um mit dieser Situation umzugehen:

%Vor%

Sie behandeln den Fehler genauso wie #on:do: , aber jetzt wissen Sie warum. So könnten Sie das in anderen tun, um Ihren Fehler richtig zu behandeln.

%Vor%

Beachten Sie, dass Sie den Ausnahmecode in einen Block schreiben müssen, damit er erst ausgewertet wird, wenn der Fehler auftritt.

%Vor%

funktioniert vielleicht, aber es ist falsch. Hoffe, dass dir das hilft.

    
mathk 29.01.2011 17:32
quelle
0

Lesen Sie das Kapitel Pharo By Example 2: Ссылка

    
Mariano Martinez Peck 18.04.2012 21:57
quelle

Tags und Links