[Playlisten] [Impressum und Datenschutzerklärung]

06.1 Exceptions, Ausnahmebehandlung


CC-BY-NC-SA 3.0

Tempo:

Anklickbares Transkript:

schon an diversen Stellen ExceptionsAusnahmenin Aktiondas ist die Art wie man in den moderneren SprachenAusnahmesituationenbehandelt mit Exceptionsan was wären AusnahmesituationSachen die einfach schief gehen könnennicht wegen Programmierfehlernvielleicht auch gucken noch nicht so sehr wegen Programmierfehlernals weildas Leben einfach böse ist zum Beispiel kann folgendes passierensie versuchen Datei aufzumachenaber wieder da ist nicht da wo sie angegeben istkeine Datei am angegebenenOrtbesuchen eine Datei einer bestimmten Stelle C Doppelpunkt Backslash und so weiter und so weiteraber steht sie gar nichthabenes siehtgerne als Fehleram angegebenenOrtdas wäre kein Programmierfehleraber trotzdem etwaswas das Programm zum strauchelnbringtman nicht aufpasstdanndas mit den Dateien ist sowieso höllisch die Datei ist vielleicht nicht lesbardie finden Sie vielleichtaberkönnen sie nicht lesenzum Beispielbei Defektesan seiner Sache noch liegen zum Beispiel bei Defektesdie Datei nicht lesenhabenaußer mir noch die Wahl vielleicht schreiben auf die Dateiist gleich Lichtschreiberbei gerade jemand anders liestweil andere Zugriffparalleles genügt Chancen von Textbearbeitungsprogrammversuchen dieselbe Datei aus dem anderen Programm aufzumachengibt das im allgemeinen was auf die Fingersobald ich was mit dem Internet veranstalte die Internetverbindungreist ab?? eine Datenübertragungam Laufenhabendas mal wieder sendetjede Viertelstundeund plötzlich wird abgehängt ?? muss damitumgehen?? Internetübertragungreist abes wäre kein Programmierfehlerdes ?? einfachärgerlich nurKomma muss damit umgehenunerlaubtewurdeneher Laub zur ZeitDateiformatsowaspassiert einem danninsbesondere sobald man Daten überträgtund speichert und liest hat man ziemlich viel ÄrgerDateiformatan den Stellen basierte Bekanntschaft mitExceptionswenn ich sowas inC macheich es so ausseinen Mitarbeiter gesehen und diese ausführlich gemachtwenn sie in C sowasordentlich ausprogrammierenwollen sie das nachher so ausschaut kann ich in den Editor reinwaren sie nachher so aus?? öffne eine Dateietlichen zehnöffnete eine Dateimit irgendwelchenArgumenten sie müssen sagen welche Datei und dann soll diese Funktion typischerweiseeine FehlernummerzurückgebenKommaso wird das Aussehen und dann prüfe ich ob diese Fehlernummerdennungleich null istdiese Fehlernummer ungleich nulldann ist wohl ein Fehler aufgetreten beim Öffnen der Dateiund ich muss irgendwie behandeln Fehlerbehandlungversucht unter anderen Namen vielleicht gewiss auch ganz auf die AusrichtervielerPunktHerrndamit habe ich die Dateihoffentlich schon mal offendann probiere ich doch mal den Anfang der Datei zu lesenhaben?? gibt auf einem Funktion lese Anfang der DateiAnfangder Dateiweilbei dem Anfang zum Beispiel stehter wie viel Zeilen sind das was für Sorte an Daten sind das ?? ist das andas wird mir auch wiedereine Fehlernummer dann zurück liefern so wird man das typischerweise Programmierenin Cjede Funktion die fehlschlagen an die Fehlernummer zurück und ich guck ob sie Fehlernummer denn wirklich auch die Nummer eines Fehlers ist oder ob sie nur lässt man sie nur lässt mich Glück gehabt und es hat funktioniertes nicht allesauf Pech gehabt und ich muss michdamit beschäftigen wie ich diese Situationgeregelt seheund dann wird es weitergehenhatte den Anfang der Dateigelesenund soweit das ?? welche sich auf ?? vorstellen wie das aussieht ander Ärger ist das dieser Coachzusechsundsechzig Prozent sieben sechzig Prozent ausmir sogar bis zu achtzig Prozent aus Fehlerbehandlungbestehtich möchte eigentlich nur schreiben ?? DateilisteAnfang der Datei und so weiter und so weitersehr gutes zugemailt mit der FehlerbehandlungKomma das ordentlich macht und sichständigständig ab Fragezeichen wieder passiert wenn ein Fehler passiert istin was tunum damit umzugehendas nervt total das macht das ganze sehr unübersichtlichum Exceptionsgeht's dann schicker in C plus plusund Inter aber unsicherundpraktisch allen nennenswerten Ansprachen gibt es Exceptionsder Hintergedankeder Sepsis ist das ich wirklich nur das schreiben was ich schreiben willdie beidenund dass der Rest ausgelagertwird das nicht kreuz und quer durcheinander steht?? an das ganze kommt natürlichkannst ?? weist das ganze kostet natürlichExceptions sind schwierigerinternfür die Maschineals diese Art vonFehlernummer zurückgeben Fehlernummer prüfendas als Erkenntnis wird man jetzt nicht auf den billigsten Marken ??aufeinen nennenswerten Maschinenoderhabenich das mal in Aktion davon aussieht ?? RückennummerdreiKommaund zwarmarkierensie im Programm was den schief gehen kanndieseSektion würde schon sagen die Stellen die Teil ihres Programmsdie schief gehen können oder schreiben Sie ein SchweigeschweifKlammer auf der vorVersuch malim Sinne derKomma findet sound hier rein kommtdas was schief gehen kann in das zweiund am Ende sammelte die Scherben ein das LoviscachSuche irgendwasgefangenwird dann eine Zäpfchen wie eine heiße Kartoffel gefangen wird'sselbstständigund Schweifklammer weiterhier schreibe ich unten in das Geld schreibe ich rein was denn nungemacht werden sollte nur schief gehtalso bei den Schrei steht drinnenwas normalerweise zu tun istohne irgendwasan weiterer Fehlerbehandlungtypischerweisedie Fehlerwandlung des ausgelagerteSis viel elegantermal wieder als die allgemeine CC machtund sie haben sie diese fürchterlicheMischung zwangsläufigda zwischen der eigentlichen Funktionalitätund der Fehlerbehandlungdas ist nicht nur schlecht zu lesen dass es auch schlecht zu wartenwir aufExceptionsist das beides voneinander getrenntbesagen auf das ihr vorne kann schief gehen probieres kann schief gehenund dir bei den catch sagen sie wenn's schief gegangen ist bitte folgendesamExceptionssind die Fehler die dann die Ausnahmen die dann geworfen werden so nennt sich das wie sagte meine heiße Kartoffel durch die Gegend wirft die wirklich angefangenenBefehle wird hier gefangen und verarbeitetdie Feder haben insbesondere auf Tütenzäpfchenist ja offensichtlich mal wieder klasseeher so ein Fehler ist tatsächlich eine Instanz einer KlasseNummerich bei meinen BeispielDateienschief könnenund zwar wie sich aus einer Textdateieines Systemenpro??einsaus einer Textdateimöchte ichDaten einlesen?? Airlines heißt ja jede Zeile für sich lesenundin eine eigene?? in einer ?? hat hier diese ?? speichernist möchte ichvielleicht in der dritten ZeileBeistrich die vielleicht in der dritten Zeile mehrere Sachen miteinander stehen haben mit Semikolongetrennte sowas machen kann?? gibt mir die dritte Zeile des während der A von zwei hundert zweidritte Zeile A von zweiund zerteilte diemithilfevon Semikolon Sun Semikolonaus jedem Teilein einzelner Eintrag in dieser Welt ist einPraktikumanund hoffentlich ist derTeilplanungder Teil hinter dem Semikolon das wäre dann wie von Einzel sein Semikolon gibt die von einzelnenrechts davonauf mich kann ich die ganze Zahl verwandelndas wäre alsoausreichendähm ist gleichausPunktdas wäre meineHoffnung dass man sowashinkriegt dann ??unddie Fehler ordentlich behandeltDateiexistiert fast gar nichtdie Datei nicht drei ZeilenBeistrich in der dritten Zeile erkannt Semikolon sodass es hiergar kein Bild von eins gibtBeistrich den ?? Semikolonda keine Zahl sondern Zeit in eine andere Zeichenkette dann hat das Bass ein Problemes gibt Ihnen viele Möglichkeiten die das schief geht aber das möchte ich nicht dazwischen schreiben Beistrichbei der zwischenschreiben würde?? Tätigkeit die Datei zu laden war jetzt wirklich auch ?? Semikolon?? ist das Telefonie tatsächlicheZahlangrausam beruhigt und man schreibt das in das im Regelfall passieren sollwenn es schief gehtdann weiter untenist die Ausführung wird sofort der abgebrocheneschiefgeht ?? um die Datei fehltsofort das abgebrochen die dann ganz ausgeführt?? Loviscach reinwas ich jetzt aber nur machen bei den catch Kommaauszugebenmuss ?? gefunden hat MessageboxShownatürlich keine Fehlerbehandlungversicherte mache das muss man deutlich machenmal Fehler DoppelpunktpluspluserErkenntnissenicht eine Nummer ist viel besserkönnendiese Instanz derKlasse oder einer Klasse davon zum Beispielnachder Message Fragenbezüglich natürlichen ?? gibt ?? in der URLunter der Hilfe der dazu stehtsollte ?? ausgeführt worden ist aber das ist das spannendMessageFehlermeldungdieser Zäpfchen hat einen wichtigen FehlerKomma aussoarmdas ich es meine Fehlerbehandlung dieser ?? bisschenmarginalaberman kann schon mal sehen wie das mit Exceptions funktioniertdas alle erstes das ist so starteohne dass diese Datei existiertwas also sofort hier oben fehlschlagen muss die Datei existiert nicht und kann es rechtlich alle Zahlen aus ?? Dateien lesenzu fordern ZäpfchenMessageboxshowgerichtetesFensterchen und logischen Fehler Doppelpunkthaben und dass sie kamaus der Krebs raus die Datei sowieso sowie sowieso des Dax konnte nicht gefunden werden ?? all das deckt schon in Exceptions rennen ihr Fehler ihre Fehlermeldung auf Deutschstehthierin Exmesse schon drinnenmuss ich mir gar nicht zusammenrichtendass es fertiggebaut?? nur Fehler Doppelpunkt vorgeschriebenähmwas heißt hier sofort in der ersten Zeile gestorbene Tag selbst geben wir zufällig mal dieseDateienes weitergehtPunktzu vieldannversucht an dieser Stelleeine super ?? Zweckeich was ?? das direkte Leben desin die Excel findet dienahmalso ein TextdokumenttextdokumentenDas heißtText Punkt TXTsollte immerhin die Datei findenTexte stehenauf äh der Index war außerhalb des ?? sei bereits an anderer Fehler einander Exceptions als er die erste Zeit erlebtwas geladendas Problem ist jetzt es gibt kein Haar von zweidiese Datei enthältnurnull Zeilenich kann nicht in die dritte Zeile ja von zwei Gesundheitsproblemefolgendes ich schreib mal ein paar mehr Zeilen hereinnull Zeilenzu ?? ZeileInhaltdasses jedermann an der Stelle Beistrich dass einer vorführen und das Auftrittdezimal weg Punkt das gesehenoder das auftrittder Meldung für ebenmiteinander Stellersogar von zwei gibt es jetztder fünf Zeilen getippt A von zwei gibt es das heißtdas hier sollte funktionierennichtweiterin das hat funktionierttatsächlich jetzt diedritte Zeile die Zeilennummer zwei genommennatürlichhatte da nichts zerlegen können beikomplett Semikolon vor?? was jetzt schief geht ist das hier wie von einzelnenB hat nur einen einzigen Eintragwenn ich jetzt tatsächlich aber in der ZeileNummer zwei der dritten ZeileSemikolon drinnen habemüsste er ist da untenKommain der dritten Zeile will ich an Semikolonanokayschon ein zweiter die Eingabezeichenoder das falsche Formatdas ist allesals sieht jetzt diese Zeichenkette hierheißt sie diese Zeichenkettenach dem Semikolon Saftleuteist eine ganze Zahlder schon eine ganze Zahl ein hundert Leute sind zumUrlaubverzichten unddannso sieht das dann aus das heiß ich habe das hier nichtdurch genannter gewusst ?? mit irgendwelchenFehlerbehandlungenanzum Schluss wenn was blödes passiertKomma mich danach auf ?? kehren die Trümmer zum Schluss zusammeneine Sache die doch komisch istam Anfang des folgendes sich diese Zahl ich da gelesen habe anderswo verwenden willebendieses in Andreadieses in N ist außerhalb der Schweifklammer nicht sichtbar das in Schweifklammersich insehen und sie scharf und in JavaKommaaußer Javascriptdieses Schweifklammerverbergenalle Variablen wieder drin eingeführt werdendas A das B und das N sind außer dieser Schweifklammer nicht sichtbardas heißt ich kriege das was ich ausgelesen habe dann nicht zurückich kenne dieses en nicht verwenden ?? zum BeispielKomma Nebel einLabel auf diese Zahlen setzensich machen möchte isteine Zahl einlesen aus der Datei und dann dieses LabelContentauf diese Zahl setzensindweigerte sich ?? schon standhaftandieses endieses en ist außerhalb der Schweifklammer nicht sichtbar das gibt Ärgerdie einzige Chance ist das ich mein in Tender vorbauenund es hier anders setzeda muss man sich am Anfang müssen dran gewöhnen?? sind eigentlich seitige Eigenschaft als gemeinschaftlicherSchweifklammerder Blöckeund sie sprachenals innerhalb der Schweifklammeralles was in der der Schweifklammer eingeführt ist es außer vom ?? Avis außer verborgenwenn ich in außerhalb sehen will muss ich ähm vorhereinfügen und dann kann ich hiernach auch wirklich den Wert gegen das heißtwenn das hier fehlschlägtsteht minus zweiundvierzigdrinnen ersetzt das Label auf minus zweiundvierzigwenn das so funktioniertsetze das Label auf den Wert in der Dateidas dortige bisschen hübscher machenmöchte insgesamt abbrechen Mens fehlschlägtund natürlich einfachenReturn hinsetzen und insgesamt abzubrechen?? es fehlschlägtund alleinig das Leben zu setzenso das meine Nation da müsste jetzt was stehenhundert zwanzig ?? zwanzig müsste da stehendas als erste Idee zunächst der BestandsverzeichnisWoche noch ein paar Details dazuwie man da noch war ein