‫Welkom terug.
‫In deze video leert u hoe u fouten kunt opvangen en iets kunt doen als er een fout optreedt en uw programma
‫niet laat crashen of iets dergelijks.
‫Dus een algemeen gebruik van vangst en uiteindelijk samen is om middelen te verkrijgen en te gebruiken en te proberen een blokkade op te lossen met
‫uitzonderlijke omstandigheden en een vangstblok en de middelen in het laatste blok vrij te geven.
‫En wat dat betekent, gaan we in deze video bespreken.
‫Laten we dus het volgende doen om een fout tegen te komen.
‫We gebruiken de console-rechterlijn.
‫Dus en om hier dubbel te tikken, zeg ik alsjeblieft voer een nummer in en we zullen onze gebruiker gewoon vragen om een nummer in
‫te voeren.
‫En dan willen we dat opslaan in gebruikersinvoer, wat gewoon een verbale string zal zijn en
‫het gaat lezen wat de gebruiker moet invoeren of te zeggen heeft.
‫En het zou uiteindelijk een getal moeten zijn.
‫Rechts.
‫Dat is het doel dat we hebben.
‫Maar als we de volgende invoer van de eindgebruiker als invoer doen en we gebruiken in Dart Pass, dus je hebt al delen gezien en
‫we proberen de gebruikersinvoer te ontleden die hier door de gebruiker is gegeven.
‫We zullen proberen er een geheel getal van te maken, en als je dat nu uitvoert, voer dan een getal in
‫en gedurende drie en ons programma is eigenlijk prima.
‫Laten we hier een console toevoegen die de sleutel leest, zodat we nog beter zien dat het programma nog steeds in orde is.
‫Vul daarom een nummer in.
‫Ik ga gewoon vijf invoeren en ons programma loopt en het crashte niet.
‫Alles is in orde.
‫Dus laten we het nu opnieuw uitvoeren.
‫Maar laten we in plaats van een nee in te voeren een letter toevoegen of wat tekst schrijven.
‫Dat is niet.
‫Begaanbaar in een geheel getal, wat we hier in regel 16 doen, in mijn geval ga ik
‫invoeren en mijn programma crasht en er staat uitzondering, onverwerkte systeemformaatuitzondering, invoertekenreeks was niet in het
‫juiste formaat.
‫Oke.
‫Dus de string die door de gebruiker werd gegeven, had niet het juiste formaat om het door te geven aan een geheel getal.
‫En dat is waar het bij een formele uitzondering om draait.
‫Nu kunnen we dat aan door een try and catch-blok te maken.
‫Dus laten we zeggen dat we proberen gebruiken.
‫En hier kun je zien dat er een optie is om try and catch C te gebruiken of ik kan gewoon gebruiken om een
‫dubbele tik te proberen en het zal een try catch exception throw voor mij creëren.
‫Dus wat ik nu wil doen, is die code proberen en als het niet werkt, wil ik niet dat mijn programma
‫crasht.
‫En dat is waar dit hele tri-ding over gaat.
‫Dus welke foutcodefout in de zin van tijdens runtime foutcode hier ook is, zal worden geprobeerd uit te voeren.
‫En als het niet werkte, dan de vangst.
‫Blok zal worden uitgevoerd, dus alles wat zich in deze body of tussen de accolades hier bevindt, wordt
‫uitgevoerd.
‫Dus nu hoeven we alleen nog maar hier te gooien.
‫Dus laten we van gooien afkomen, want het is nog steeds Yero gooien.
‫Laten we nu iets naar de console schrijven als er een fout optreedt.
‫Dus we zeggen zoiets als
‫formaatuitzondering, voer de volgende keer het juiste type in.
‫En dat is iets waarvan we weten wat een type is.
‫Een gewone gebruiker zou dat niet weten.
‫Dus hier zou je iets schrijven als, voer alsjeblieft geen letters in, maar alleen cijfers of iets
‫dergelijks.
‫Dus laten we eens kijken.
‫Nogmaals, laten we een fout weer een fout maken.
‫En dan krijgen we deze informatie gewoon van een uitzondering.
‫Voer de volgende keer het juiste type in.
‫En ons programma crashte niet, dus we kwamen deze uitzondering niet tegen in de zin van ons programma of onze IEP
‫die ons vertelde, hey, er is iets mis en je moet goed omgaan met je code.
‫Rechts.
‫Dus dat is over het algemeen hoe de structuur is.
‫Je hebt een try, dus je probeert hier wat code die op fouten kan stuiten, die een uitzondering kunnen
‫hebben, en dan heb je een catch-blok dat wordt uitgevoerd wanneer deze poging niet is gelukt.
‫Dus wanneer er een fout was, wordt dit catch-blok uitgevoerd.
‫Wat we hier hebben is een vangst met een uitzondering.
‫Een uitzondering is een zeer algemene fout.
‫Het kan dus elk type uitzondering zijn.
‫Maar als we die fout echt tegenkomen, dus laten we deze code verwijderen, zullen we zien wat voor soort uitzondering we
‫hebben gemaakt.
‫Dus ik ga gewoon iets invoeren zoals een string die ik invoer.
‫En eigenlijk gebeurt er niets omdat we niet gooien.
‫Dus laten we daarmee ophouden, laten we gooien, zoals we eerder zagen, gewoon opgooien en we zullen het opnieuw uitvoeren.
‫Ik voer hier gewoon iets in en het is een uitzondering op het systeemformaat.
‫We hebben dus iets preciezere informatie over de daadwerkelijke uitzondering.
‫Dus nu weten we, oké, het is een formaatuitzondering.
‫We moeten hier dus formate exception gebruiken in plaats van exception.
‫OK, dus veel uitzonderingen hier, maar wat we hier gebruiken is een formaatuitzondering.
‫Zoals je hier kunt zien, is er een klasse genaamd system die een uitzondering vormt en de uitzondering
‫die wordt gegenereerd wanneer het formaat van een argument ongeldig is of wanneer een samengestelde formaatreeks niet goed is gevormd.
‫En dat is precies wat we hier hebben.
‫Dus laten we hier vanaf komen en het goed vinden.
‫Dus laten we nu een andere fout tegenkomen.
‫Laten we nu een heel lang getal maken, iets dat niet in een string past, want zoals je misschien al vermoedt, of
‫zoals je je misschien herinnert, heeft een string maar een bepaalde hoeveelheid ruimte.
‫Dus laten we zeggen dat ik niet zeker weet hoeveel getallen dit doen, maar laten we zeggen dat alleen dit aantal getallen
‫kan worden opgeslagen binnen een geheel getal.
‫Dus dit alles hier gaat niet werken omdat het een overloop is.
‫Het is dus te veel informatie voor een string om te verwerken.
‫Dus als ik dit nu invul.
‫Ik krijg een uitzondering voor invoersysteemoverloop, dus hier zijn we, systeemoverloopontvangst.
‫Nou, je was ook te groot of te klein voor in de 30, toch?
‫Dat zei ik.
‫En nu moeten we die uitzondering ook opvangen.
‫Er zijn dus twee manieren om ermee om te gaan.
‫Dus ofwel gebruiken we hier een andere uitzondering en gebruiken we alleen uitzondering.
‫Dus we behandelen alleen alle andere uitzonderingen die er in het algemeen zijn en we zeggen gewoon:
‫raadpleeg
‫de heldere lijn, algemene uitzondering.
‫Er is bijvoorbeeld iets misgegaan, dus laten we een heel lang nee maken, eigenlijk, nog een keer zoals dit en laten we
‫dat invoeren en we zien dat we een algemene uitzondering hebben, ook al is dat een overloopuitzondering.
‫Dus je kunt het zo aanpakken.
‫Dus als je niet alle verschillende soorten uitzonderingen kent die je daar hebt
‫of als je ze niet allemaal afzonderlijk wilt vangen, zou je op deze manier kunnen doen of je zou zo precies en eenvoudig en
‫naar rechts een overloopuitzondering kunnen zijn.
‫Dus nu gaat het werken en je ziet een systeem, de overflow-uitzondering.
‫Laten we dat nog eens herhalen en laten we alstublieft een getal invoeren en laten we hier een heel lang getal maken.
‫En we krijgen nog steeds de algemene uitzondering omdat we geen andere uitzondering voor tekstoverloop hebben ingevoerd.
‫Het nummer was te lang of te kort voor en in 30 aan.
‫Dus laten we nog eens kijken en zien dat sectienummer te lang of te kort was voor een op tweeëndertig.
‫Oke.
‫Dus dit is hoe we over het algemeen uitzonderingen kunnen opvangen.
‫En of er nog andere uitzonderingen zijn die kunnen worden uitgevoerd.
‫Zoals je kunt zien, is er een argument, geen uitzondering.
‫Dus laten we eens kijken wat dat betekent, als we dat al kunnen krijgen.
‫En we zien.
‫Formele uitzondering, voer de volgende keer het juiste type tijd in, dus zelfs als het in ons
‫geval leeg is, krijgen we deze null-uitzondering niet omdat onze invoer, zelfs als we niets invoeren, nog steeds een
‫lege tekenreeks heeft, die is niet nul.
‫Dus we komen in deze handeling niet tegen deze feitelijke uitzondering aan.
‫Dus zoals je hier ziet, wanneer je code-intelligentie probeert uit te voeren, zelfs hier wat informatie geeft, is
‫dat erg handig.
‫U kunt zien dat er het argument is, niet de uitzondering, de formele uitzondering en de overloopuitzondering.
‫Dus we zouden hier zelfs nog een uitzondering kunnen toevoegen en dat ene argument geen uitzondering of argument nuluitzondering
‫noemen.
‫En we zeggen zoiets als argument null exception.
‫De waarde was nu leeg.
‫Dus om dit gebied zelfs maar tegen te komen, zouden we nullable moeten gebruiken, wat we nog niet hebben behandeld.
‫Maar dat gaan we later doen.
‫En als we die hebben, kun je dat proberen.
‫Dus als je de video al hebt gezien, kun je proberen die fout tegen te komen.
‫Oke.
‫Dus nu heb je gezien hoe je kunt gebruiken, proberen en vangen.
‫En nu is er nog één ding dat ik je wil laten zien in deze video, die eindelijk
‫zo wordt gedaan.
‫Dus je gebruikte uiteindelijk een trefwoord en dan gebruik je weer accolades en binnen dat codeblok hier.
‫Dus binnen die body voer je de code in die moet worden uitgevoerd wanneer try and catch wordt gedaan.
‫Het maakt dus niet uit of de fout werd uitgevoerd of dat de fout niet werkte, er was geen fout.
‫Dat gaat uiteindelijk toch heten.
‫Dit wordt dus sowieso genoemd.
‫Dus dat betekent is.
‫Nou, we zullen het zo zien.
‫Dus laten we een fout tegenkomen en we zien golfvorm en uitzonderingen en dan zien we dat dit hoe dan ook wordt
‫genoemd en dat is ons laatste blok.
‫En het idee achter deze eindelijk blokkering is om, bijvoorbeeld, als je probeert een internetverbinding te starten of als
‫je probeert om in een bestand te schrijven, er uiteindelijk een fout kan gebeuren.
‫Dus laten we zeggen dat de internetverbinding wordt verbroken of dat u geen toegang
‫hebt tot een bestand waarnaar u wilt schrijven of een andere uitzondering die zich kan voordoen en dat u de verbinding of het bestand hoe dan ook wilt sluiten.
‫Dus je hebt het bestand geopend en nu probeer je in dat bestand te schrijven en nadat je erin hebt geschreven om
‫het te blokkeren en misschien werkte het, misschien werkte het niet.
‫Maar wat u zeker wilt doen, is het bestand opnieuw sluiten of u probeert iets van internet
‫te downloaden.
‫En of het werkte of niet, maakt niet uit.
‫U dient daarna de verbinding met internet te verbreken.
‫En dat is iets dat je zou doen in het laatste blok.
‫En dat is erg handig en best belangrijk bij het werken met input output types of.
‫Ja, maar over het algemeen met verbindingen met internet, Bluetooth of wat dan ook.
‫Dus zoals je ziet, er is veel te weten over het proberen te vangen, maar de belangrijkste dingen die je al hebt
‫gezien.
‫Dus nu weet je hoe je try moet gebruiken, je weet hoe je catch moet gebruiken, hoe je uitzonderingen kunt vinden.
‫In sommige gevallen is dat niet zo evident.
‫Dus in sommige gevallen zult u niet controleren welke uitzonderingen daarop kunnen worden uitgevoerd.
‫Maar als je een uitzondering tegenkomt in je code, dan weet je welke uitzondering dat is.
‫Welnu, het idee is dat Microsoft Visual Studio u zal vertellen welke uitzondering het was.
‫En dan moet je zeker proberen die uitzondering te vangen of gewoon een algemeen uitzonderingstype okeydokey gebruiken.
‫Dus nu een kleine uitdaging voor jou, want er moet altijd een kleine uitdaging zijn, anders
‫raak je misschien een beetje verveeld of word je misschien een beetje lui.
‫Het is erg belangrijk dat u de code ook probeert te typen en het zelf probeert.
‫Dus de kleine uitdagingen, ga je gang en deel door nul.
‫Dus dat is eenvoudig.
‫Probeer gewoon te delen door nul en gebruik daarvoor twee variabelen.
‫Oké, laten we doorgaan en dat proberen, dus ik ga proberen te delen door nul.
‫Ik ga twee gehele getallen gebruiken en niemand wordt vijf en geen twee wordt nul.
‫En nu ga ik een resultaat gebruiken.
‫Het eindresultaat wordt hier ingevoerd.
‫Resultaat is gelijk aan nummer één, gedeeld door nummer twee.
‫Het is niet.
‫Laten we dat proberen zonder te proberen en te vangen, voordat we proberen te vangen.
‫Dus laten we het uitvoeren.
‫Voer een getal in en deel het vervolgens door nul uitzondering, en ik hoop dat je daarmee omgaat.
‫Dus laten we nu een try and catch toevoegen.
‫Dus probeer of maak het eigenlijk gewoon makkelijker en probeer het hier en gebruik het blok dubbeltik.
‫En nu binnen de try, wil ik dat uitvoeren.
‫En als het niet werkt, wil ik gewoon iets als citable schrijven.
‫Je kunt niet delen door nul.
‫En nu was de uitzondering die we net hadden, zo kijk.
‫Delen door nul, proberen te delen door nul, en het heet delen door nul uitzondering.
‫Dus als je dat wilt vinden, kun je dat hier vinden.
‫Dus ik ga gewoon precies dat gebruiken.
‫Ik ga de uitzondering vervangen door de uitzondering delen door nul.
‫Laten we die code nu opnieuw uitvoeren.
‫Voer het nummer in dat van eerder was en dan staat er kan delen door nul.
‫Rechts.
‫Dus ik hoop dat je dat hebt geprobeerd en ik hoop dat het je lukt om dat te doen en je kunt nu zien hoe je je eigen poging kunt
‫maken en bijpraten.
‫En in de volgende video gaan we verder en gebruiken we nog meer mooie dingen.
‫Dus tot ziens daar.