Gelegentlich wird ein Verfahren ein Fehler auftreten , an welcher Stelle es scheitern wird und euch davon erzählen über den einen Mechanismus namens eine Ausnahme. In Ruby , wenn Ausnahmen von einer Methode, die einen Fehler feststellt erhoben werden, haben Sie Ihr Programm zu retten und den Fehler . Anleitung
eine Ausnahme
1
schreiben einige Code, der eine Ausnahme ausgelöst wird , mit der raise-Anweisung . In Ruby wird die raise-Anweisung stoppen Durchführung des Verfahrens , dann entspannen Sie das Programm.
2
Schließen Sie den Aufruf dieser Methode in einem passenden Rettung Aussage. Andernfalls wird das Programm zu beenden und eine Fehlermeldung auf dem Terminal angezeigt werden. Das folgende Beispiel zeigt eine Mittelung , wie sie in der Besoldungsgruppe Book-Software gefunden.
3
Hier werden alle Testergebnisse gemittelt. Wenn das Ergebnis ist mehr als 100%, es gibt keine andere Wahl, als eine Ausnahme auslösen , weil jemand betrogen hat : def Durchschnitt ( num1 , num2 , num3 ) av = ( num1 + + num2 num3 ) /3.0if av > 100raise " Jemand betrogen , Mittelwert # { av} " elsereturn avendend
die Ausnahme
4
schreiben Sie die Rettung Anweisung , den Aufruf der Methode durchschnittlich in einem Satz mit einer Rettung Statement.
5
starten Sie den Block mit "beginnen. " Es kann eine beliebige Anzahl von "Rettung" Aussagen , und es endet mit dem " Ende " Schlüsselwort. Die Rettung Aussage hat einen Typ -Klausel als auch : eine Art von = > und einem variablen Namen. Ohne die Art ermöglicht die Rettung Anweisung alle Ausnahmen geworfen zu fangen.
6
Bei der Ausführung des Rettungs -Anweisung wird der Wert, der erhöht wurde zugewiesen "e ". Es können mehrere Rettungs Aussagen mit mehreren Arten , um verschiedene Arten von Fehlern handhaben : beginaverage (98 , 92, 130) Rettung => eputs " Ich fing jemand betrügen ! " Puts " Die Fehlermeldung lautete: # { e} " end
Else schreiben und sicher, Statements
7
Neues sicherzustellen Aussage , zusätzlich zu den Rettungs- und Verlustrechnung . Die Aussage sicher immer wird sie ausgeführt , wenn der Block beendet ist. Unabhängig davon, wie der Block verlassen , ob es eine Ausnahme ausgelöst , oder auch wenn es um die Ausnahme selbst retten konnte , die gewährleisten Anweisung wird immer ausgeführt. Die else-Anweisung wird nur ausgeführt, wenn es keine Ausnahmen
8
Hier wollen sicherstellen, dass die Klasse Buch geschlossen wird , so dass Sie sicherstellen close_grade Buch heißt : . Beginaverage (98 , 92, 130) Rettung => eputs " ich fing jemand betrügen ! " puts " Die Fehlermeldung lautete: # { e} " > ensureclose_gradebookend
9
schreiben else-Anweisung . Gäbe es keine Ausnahmen , wird die else-Anweisung für die Schüler nicht betrügen gratulieren : elseputs " Gute Arbeit, und du hast nicht einmal betrügen ! "