‫Ben tornato.
‫In questo video imparerai come catturare gli errori e fare qualcosa quando si verifica un errore e non far crashare il
‫tuo programma o cose del genere.
‫Quindi un uso comune di catch and infine together è quello di ottenere e utilizzare risorse e provare a bloccare le circostanze
‫eccezionali e un blocco catch e rilasciare le risorse nel blocco finale.
‫E ciò che significa è ciò che tratteremo in questo video.
‫Quindi, per incorrere in un errore, procediamo come segue.
‫Usiamo la linea di destra della console.
‫Quindi, per vedere il doppio tocco qui, dico per favore inserisci un numero e chiederemo solo al nostro utente di inserire un
‫numero.
‫E poi vogliamo memorizzarlo nell'input dell'utente, che sarà solo una stringa verbale e leggerà
‫tutto ciò che l'utente deve inserire o ha da dire.
‫E alla fine dovrebbe essere un numero.
‫Destra.
‫Questo è l'obiettivo che abbiamo.
‫Ma se eseguiamo il seguente input dell'utente finale come input e lo usiamo in Dart Pass, hai già visto le parti e
‫proviamo ad analizzare l'input dell'utente che è stato fornito qui dall'utente.
‫Cercheremo di farne un intero, e ora se lo esegui, inserisci un numero e durante tre e
‫il nostro programma va bene, in realtà.
‫Aggiungiamo una console che legge la chiave qui così vediamo ancora meglio che il programma va ancora bene.
‫Quindi per favore inserisci un numero.
‫Sto solo per inserire cinque e il nostro programma è in esecuzione e non si è bloccato.
‫Va tutto bene.
‫Quindi ora eseguiamolo di nuovo.
‫Ma invece di inserire un no, aggiungiamo una lettera o scriviamo del testo.
‫Quello non è.
‫Passabile in un numero intero, quello che stiamo facendo qui nella riga 16, nel mio caso, inserirò e il mio programma
‫si blocca e dice eccezione, eccezione di formattazione del sistema non gestita, la stringa di input non era in
‫un formato corretto.
‫Tutto bene.
‫Quindi la stringa fornita dall'utente non era nel formato giusto per passarla a un numero intero.
‫E questo è ciò che riguarda un'eccezione formale.
‫Ora, possiamo gestirlo creando un tentativo di catturare un blocco.
‫Quindi diciamo che usiamo try.
‫E qui puoi vedere che c'è un'opzione per usare try and catch C o posso semplicemente usare per provare un
‫doppio tocco e creerà un lancio di eccezione try catch per me.
‫Quindi ora quello che voglio fare è provare quel codice e se non ha funzionato non voglio che il mio programma vada in
‫crash.
‫Ed è proprio di questo che si tratta.
‫Quindi qualsiasi errore di codice di errore nel senso di durante il codice di errore di runtime è qui verrà tentato di eseguire.
‫E se non ha funzionato, allora il trucco.
‫Il blocco verrà eseguito, quindi tutto ciò che è in questo corpo o all'interno delle parentesi graffe qui verrà
‫eseguito.
‫Quindi ora non ci resta che buttare qui.
‫Quindi sbarazziamoci del lancio perché sta ancora lanciando Yero.
‫Ora scriviamo qualcosa sulla console se si verifica un errore.
‫Quindi diciamo qualcosa come un'eccezione di
‫formato, per favore inserisci il tipo corretto la prossima volta.
‫E questo è qualcosa che sappiamo cos'è un tipo.
‫Un utente generico non lo saprebbe.
‫Quindi qui dovresti scrivere qualcosa del tipo, per favore non inserire lettere, ma solo numeri o qualcosa del
‫genere.
‫Quindi diamo un'occhiata.
‫Anche in questo caso, eseguiamo di nuovo un errore in un errore.
‫E poi otteniamo queste informazioni da un'eccezione.
‫Si prega di inserire il tipo corretto la prossima volta.
‫E il nostro programma non è andato in crash, quindi non ci siamo imbattuti in questa eccezione nel senso che il nostro programma o
‫il nostro IEP ci diceva, ehi, c'è qualcosa che non va e dovresti gestire bene il tuo codice.
‫Destra.
‫Quindi generalmente è così che è la struttura.
‫Hai una prova, quindi provi del codice qui che potrebbe incorrere in errori, che possono avere un'eccezione, e quindi
‫hai un blocco catch che viene eseguito ogni volta che questo tentativo non ha funzionato.
‫Quindi, ogni volta che si è verificato un errore, questo blocco catch verrà eseguito.
‫Quello che abbiamo qui è un problema con un'eccezione.
‫Un'eccezione è un errore molto generico.
‫Quindi potrebbe essere qualsiasi tipo di eccezione.
‫Ma se effettivamente ci imbattiamo in quell'errore, quindi sbarazziamoci di questo codice, vedremo quale tipo di eccezione abbiamo
‫creato.
‫Quindi inserirò qualcosa come qualunque stringa sto inserendo.
‫E in effetti non succede niente perché non si butta.
‫Quindi smettiamola, lanciamo, come abbiamo visto prima, lanciamo solo su e lo eseguiremo di nuovo.
‫Sto solo inserendo qualcosa qui, ed è un'eccezione di formattazione del sistema.
‫Quindi abbiamo informazioni un po' più precise sull'eccezione effettiva.
‫Quindi ora sappiamo, OK, è un'eccezione formata.
‫Quindi dovremmo usare l'eccezione formate qui invece di eccezione.
‫OK, quindi molte eccezioni qui, ma quella che usiamo qui è un'eccezione di formato.
‫Come puoi vedere qui, c'è una classe chiamata sistema che forma un'eccezione e l'eccezione che viene generata quando
‫il formato di un argomento non è valido o quando una stringa di formato composito non è ben formata.
‫Ed è esattamente quello che abbiamo qui.
‫Quindi liberiamoci di tutto questo e stiamo bene con quello.
‫Quindi ora ci imbattiamo in un errore diverso.
‫Ora creiamo un numero molto lungo, qualcosa che non può stare in una stringa, perché come puoi immaginare, o
‫come potresti ricordare, una stringa ha solo una specifica quantità di spazio.
‫Quindi diciamo che non sono sicuro di quanti numeri faccia questo, ma diciamo che solo questa quantità di numeri può essere
‫memorizzata all'interno di un numero intero.
‫Quindi tutto questo qui non funzionerà perché è un trabocco.
‫Quindi sono troppe informazioni da gestire per una stringa.
‫Quindi se inserisco questo ora.
‫Ricevo un'eccezione di overflow del sistema di input, quindi eccoci qui, ricezione dell'overflow del sistema.
‫Beh, o eri troppo grande o troppo piccolo anche per 30, giusto?
‫È quello che ho detto.
‫E ora dobbiamo catturare anche quell'eccezione.
‫Quindi ci sono due modi per gestirlo.
‫Quindi o usiamo un'eccezione diversa qui e usiamo solo eccezioni.
‫Quindi stiamo solo gestendo tutte le altre eccezioni che esistono genericamente e diciamo semplicemente consultare
‫la
‫linea luminosa, eccezione generale.
‫Qualcosa è andato storto, per esempio, quindi creiamo un no molto lungo, in realtà, ancora una volta così e
‫inseriamo quello e vediamo che abbiamo un'eccezione generale, anche se è un'eccezione di overflow.
‫Quindi puoi gestirlo in questo modo.
‫Quindi, se non conosci tutti i diversi tipi di eccezioni
‫che hai lì o non vuoi catturarli tutti individualmente, potresti fare in questo modo o potresti essere quell'eccezione di overflow
‫precisa e semplice e giusta.
‫Quindi ora funzionerà e vedrai un sistema, l'eccezione di overflow.
‫Eseguiamolo di nuovo e per favore inseriamo un numero e creiamo un numero molto lungo qui.
‫E otteniamo ancora l'eccezione generale perché non abbiamo inserito un'eccezione di overflow del testo diversa.
‫Il numero era troppo lungo o troppo corto per e in 30 to.
‫Quindi diamo un'occhiata di nuovo e trascuriamo che il numero di sezione era troppo lungo o troppo corto per un su trentadue.
‫Tutto bene.
‫Quindi è così che possiamo generalmente catturare le eccezioni.
‫E se ci sono altre eccezioni che possono essere eseguite.
‫Come puoi vedere, c'è un argomento, nessuna eccezione.
‫Quindi diamo un'occhiata a cosa significa, se riusciamo a capirlo.
‫E vediamo.
‫Eccezione formale, per favore inserisci il tipo corretto di ora la prossima volta, quindi anche se è vuoto
‫nel nostro caso, non otteniamo questa eccezione nulla perché il nostro input, anche se non inseriamo nulla, ha ancora
‫una stringa vuota, che non è nullo.
‫Quindi non ci imbattiamo in questo atto in questa eccezione effettiva.
‫Quindi, come vedi qui, ogni volta che provi a eseguire alcune informazioni sul codice, anche qui ti danno alcune informazioni,
‫quindi è davvero utile.
‫Puoi vedere che c'è l'argomento, non l'eccezione, l'eccezione formale e l'eccezione di overflow.
‫Quindi potremmo anche aggiungere un'altra eccezione qui e chiamare che un argomento non è un'eccezione o un'eccezione nulla
‫dell'argomento.
‫E diciamo qualcosa come l'eccezione null dell'argomento.
‫Il valore era vuoto ora.
‫Quindi, per imbatterci anche in quest'area, dovremmo usare nullable, che non abbiamo ancora trattato.
‫Ma lo faremo più avanti.
‫E se li abbiamo, puoi provare a farlo.
‫Quindi, se hai già visto il video, potresti provare a incorrere in quell'errore.
‫Tutto bene.
‫Quindi ora hai visto come usare, provare e catturare.
‫E ora c'è un'altra cosa che vorrei mostrarvi in questo video, che è finalmente e finalmente
‫è fatto così.
‫Quindi hai usato finalmente la parola chiave e poi usi di nuovo le parentesi graffe e all'interno di quel blocco di codice qui.
‫Quindi, all'interno di quel corpo, inserisci il codice che dovrebbe essere eseguito ogni volta che viene eseguito il tentativo e la cattura.
‫Quindi non importa se l'errore è stato eseguito o se l'errore non ha funzionato, non c'è stato alcun errore.
‫Che finalmente si chiamerà ancora.
‫Quindi questo si chiama comunque.
‫Quindi questo significa che è.
‫Bene, vedremo in un secondo.
‫Quindi incontriamo un errore e vediamo la forma d'onda e le eccezioni e poi vediamo che questo viene chiamato comunque e
‫questo è il nostro blocco finale.
‫E l'idea alla base di questo blocco finale è, ad esempio, se hai provato ad avviare una connessione Internet o se
‫hai provato a scrivere in un file, alla fine può succedere che si verifichi un errore.
‫Quindi diciamo che la connessione a Internet si interrompe o non hai accesso
‫a un file in cui vuoi scrivere o ad altre eccezioni che possono verificarsi e vuoi chiudere la connessione o il file in entrambi i modi.
‫Quindi hai aperto il file e ora provi a scrivere in quel file e dopo aver scritto in quel file per
‫provare a bloccarlo e forse ha funzionato, forse non ha funzionato.
‫Ma quello che sicuramente vuoi fare è chiudere di nuovo il file o provare a scaricare qualcosa
‫da Internet.
‫E se ha funzionato o non ha funzionato, non importa.
‫Successivamente è necessario chiudere la connessione a Internet.
‫Ed è qualcosa che faresti nel blocco finale.
‫E questo è molto utile e molto importante quando si lavora con tipi di input output o.
‫Sì, ma generalmente con connessioni a Internet, Bluetooth o altro.
‫Quindi, come vedi, c'è molto da sapere sul tentativo di cattura, ma le cose più importanti le hai già viste.
‫Quindi ora sai come usare try sai come usare catch, come scoprire le eccezioni.
‫In alcuni casi non è così ovvio.
‫Quindi in alcuni casi non si verificherà quale tipo di eccezioni può essere eseguito.
‫Ma se incontri un'eccezione nel tuo codice, allora sai di che tipo di eccezione si tratta.
‫Bene, l'idea è che Microsoft Visual Studio ti dirà quale eccezione era.
‫E poi dovresti assolutamente provare a catturare quell'eccezione o semplicemente usare un tipo di eccezione generale okeydokey.
‫Quindi ora come una piccola sfida per te, perché deve sempre esserci una piccola
‫sfida, altrimenti potresti annoiarti un po' o diventare un po' pigro.
‫È molto importante che provi anche a digitare il codice e verificalo tu stesso.
‫Quindi le piccole sfide, per favore vai avanti e dividi per zero.
‫Quindi è semplice.
‫Prova a dividere per zero e usa due variabili per quello.
‫Va bene, andiamo avanti e proviamo così, quindi proverò a dividere per zero.
‫Userò due interi e nessuno sarà cinque e nessuno due sarà zero.
‫E ora userò un risultato.
‫Il risultato finale verrà inserito qui.
‫Il risultato è uguale al numero uno, diviso per il numero due.
‫Non è.
‫Proviamolo senza try and catch in realtà prima di usare try and catch.
‫Quindi eseguiamolo.
‫Per favore inserisci un numero e poi dividi per zero eccezione, e spero che tu lo gestisca.
‫Quindi ora aggiungiamo una prova e cattura.
‫Quindi prova o semplicemente rendilo più semplice e prova qui e usa il doppio tocco del blocco.
‫E ora durante il tentativo, voglio eseguirlo.
‫E se non ha funzionato, voglio semplicemente scrivere qualcosa come citabile.
‫Non puoi dividere per zero.
‫E ora l'eccezione che abbiamo appena avuto è stata quindi guarda.
‫Dividi per zero, prova a dividere per zero e si chiama dividere per zero eccezione.
‫Quindi, se vuoi trovarlo, puoi trovarlo qui sotto.
‫Quindi userò esattamente quello.
‫Sostituirò l'eccezione con l'eccezione di divisione per zero.
‫Quindi ora eseguiamo di nuovo quel codice.
‫Inserisci il numero di prima e poi dice che può dividere per zero.
‫Destra.
‫Quindi spero che tu ci abbia provato e spero che tu riesca a farlo e ora puoi vedere come puoi creare il tuo tentativo e
‫recuperare il ritardo.
‫E nel prossimo video, andremo avanti e useremo alcune cose più fantasiose.
‫Quindi ci vediamo lì.