Тёмный

Java TUTORIAL Italiano: le ECCEZIONI il TRY CATCH - Exception Propagation e i Critical Statements! 

CodeBrothers
Подписаться 3,1 тыс.
Просмотров 1,3 тыс.
50% 1

Опубликовано:

 

14 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 24   
@andreadedomenico6818
@andreadedomenico6818 7 месяцев назад
Grazie grazie grazie! Non finirò mai di ringraziarvi, mi state aiutando tantissimo!! Sto studiando per prendere la certificazione OCA e grazie a voi molte cose sembrano più chiare!
@CodeBrothers
@CodeBrothers 7 месяцев назад
Ciao Andrea! 💥 Siamo davvero molto felici che ce l'hai fatto sapere perché è stata tosta approfondire in quel modo l'argomento! Per qualunque dubbio facci pure sapere e vedremo di rispondere prima possibile. In caso abbiamo anche una community su Discord se vorrai confrontarti con altri CodeBrothers. A presto e buon coding! 💫
@andreadedomenico6818
@andreadedomenico6818 7 месяцев назад
​@@CodeBrothers Certamente! Sono appena entrato nel canale discord, grazie ancora!
@CodeBrothers
@CodeBrothers 7 месяцев назад
@@andreadedomenico6818 Di niente, anzi grazie del commento e in bocca al lupo per la certificazione 💪😎
@andreadedomenico6818
@andreadedomenico6818 7 месяцев назад
@@CodeBrothers Grazie di cuore!❤❤
@dnlnfr
@dnlnfr 2 года назад
Finalmente ciò che stavo aspettando da un po'! Grandi!
@CodeBrothers
@CodeBrothers 2 года назад
Ciao Daniele!! Speravamo proprio commentassi, non vediamo l'ora di sapere cosa ne pensi delle prossime, secondo noi saranno sempre più interessanti man mano che ci addentriamo nel discorso Buon coding e complimenti per l'orario! (noi stiamo lavorando al prossimo video!)
@paolocolombo8857
@paolocolombo8857 2 года назад
Ottima lezione.. come sempre 👍
@CodeBrothers
@CodeBrothers 2 года назад
Siamo felicissimi ti sia piaciuta Paolo! Le prossime saranno ancora meglio vedrai 💥💥
@BiagioRosarioGreco
@BiagioRosarioGreco 2 года назад
Ciao Michele, mi auguro nella prossima lezione ci sia anche il finally. Volevo poi proporti di adoperare, ove è meglio evitare la concatenazione, le stringhe formattate (con printf o "stringa".formatted(...) ) e le stringhe multi line """ Stringa """ (ne avevo letto all'inizio e non capivo come si attivavano, basta mettere i tre doppi apici su righe differenti), usarle ti eviterà molta concatenazione e stringhe spezzate
@CodeBrothers
@CodeBrothers 2 года назад
Buongiorno Biagio, grazie mille del commento 😄 La parte sulle eccezioni penso occuperà tutto il mese poichè vorremmo scendere abbastanza nei dettagli. Nella prossima ci concentrermo per bene sul concetto di Checked e Unchecked andado oltre i semplici tecnicismi, le buone pratiche e successivamente parleremo di Exception Propagation muovendoci proprio all'interno dello STACK di esecuzione e mostrando effettivamente come viaggia una eccezione. Infine in base al tempo rimasto vedremo se trattare il TRY/CATCH/FINALLY in un'unica lezione anche se ne dubito. Il Finally probabilmente sarà a parte poichè in troppi credono che utilizzando il try/catch/finally si finisca SEMPRE nel blocco FINALLY, ma purtroppo non è affatto così. Inoltre contiene alcune insidie che non molti conoscono come le "suppressed exceptions" (e magari un accenno all'"addSuppressedException()"). Non mancherà un accenno al try with resources! Ci teniamo a ringraziarti per il printf e il metodo formatted(), li abbiamo già utilizzati in qualche tutorial ma ogni tanto scappa la concatenazione per comodità eheheh😇 Il Text-Block, per scrivere le stringhe multi-line, meriterà una piccola lezione a parte che abbiamo già in mente! Speriamo di risentirti il prossimo Lunedì, a presto!
@BiagioRosarioGreco
@BiagioRosarioGreco 2 года назад
@@CodeBrothers che voi sappiate in java è possibile avere delle stringhe interpolate come in PHP o Python, non so magari tra qualche funzionalità della jdk 17 che non conosco??? Ho visto il formatted ma o String.format() che in sostanza ti permettono di riusare lo stesso modo di scrivere le stringhe del C ma null'altro, voi che ne sapete di più sapete darmi una risposta
@CodeBrothers
@CodeBrothers 2 года назад
@@BiagioRosarioGreco Ti confermiamo che al momento, come hai detto, non esiste altro modo purtroppo. La cosa più simile sarebbe lo StringBuilder usando "append" ma non è paragonabile a Python ovviamente. Se però hai interesse, in Kotlin questa funzionalità è presente! Ed è sempre un linguaggio che gira su JVM. Spero possa tornarti utile 😄
@BiagioRosarioGreco
@BiagioRosarioGreco 2 года назад
@@CodeBrothers Sapevo che fosse possibile su Kotlin e visto che Kotlin sta a Java, come TypeScript sta a Javascript, pensavo fosse stata introdotta pure in Java. Sarebbe davvero una grande comodità, eviterebbe di aprire e chiudere virgolette e perdersi con i + a destra e sinistra. Quindi Brothers cerchiamo di diventare famosi ai piani alti, così che avrete la possibilità di segnalare questa mancanza di persona direttamente e quelli della Oracle 😄
@CodeBrothers
@CodeBrothers 2 года назад
@@BiagioRosarioGreco Troppo gentile 🙉 Sarebbe veramente un bel traguardo! Saresti sicuramente il primo a saperlo e nella doc inseriremmo i crediti 😄 Intanto rimaniamo coi piedi a terra e puntiamo ai 1000 iscritti 💪
@alexdelarge1508
@alexdelarge1508 5 месяцев назад
Piccola curiosità sulle eccezioni: L'incidente del razzo Ariane L’Agenzia Spaziale Europea (European Space Agency, ESA), la controparte europea della NASA, sviluppò un modello di missile denominato Ariane, usato più volte con successo per lanciare satelliti e per svolgere esperimenti scientifici nello spazio. Tuttavia, quando una nuova versione. Ariane 5, fu lanciata il 4 giugno 1996 dal sito di lancio dell’ESA a Kourou, nella Guyana Francese, il missile virò dalla sua rotta circa 40 secondi dopo la partenza. Volando a un angolo di più di 20 gradi, anziché verticalmente, si esercitò su di esso una tale forza aerodinamica che i razzi propulsori si staccarono dal missile, innescando il meccanismo automatico di auto-distruzione: il missile si fece esplodere. La causa che innescò questo incidente fu un’eccezione non gestita! Il missile conteneva due dispositivi identici (chiamati sistemi di riferimento inerziali) che elaboravano dati di volo provenienti da dispositivi di misura e li trasformavano in informazioni riguardanti la posizione del missile, usate poi dal computer di bordo per controllare i razzi propulsori. Gli stessi sistemi di riferimento inerziali e lo stesso software per il calcolatore avevano funzionato bene per il predecessore. Ariane 4. Tuttavia, a causa di modifiche al progetto del missile, uno dei sensori misurò una forza di accelerazione maggiore di quella che si riscontrava nell’Ariane 4. Tale valore, espresso come numero in virgola mobile, era memorizzato in un numero intero a 16 bit (come una variabile di tipo short in Java). Diversamente da Java, il linguaggio Ada usato per il software di quei dispositivi genera un’eccezione se un numero in virgola mobile troppo grande viene convertito in un intero, ma, sfortunatamente, i programmatori avevano deciso che tale situazione non sarebbe mai accaduta e non avevano definito un gestore per l’eccezione. Quando avvenne il trabocco numerico, venne lanciata l’eccezione e, poiché non vi era un gestore, il dispositivo si spense. Il computer di bordo rilevò il guasto e interrogò il sensore di riserva, che, però, si era spento per lo stesso identico motivo, una cosa che i progettisti del missile non avevano previsto: avevano immaginato che tali dispositivi potessero guastarsi per motivi meccanici e la probabilità che i due dispositivi avessero lo stesso guasto meccanico era considerata assai remota. A quel punto il razzo era privo di informazioni affidabili sulla propria posizione e andò fuori rotta. Sarebbe forse stato meglio che il software non fosse stato così diligente? Se avesse ignorato l’errore numerico di trabocco, il dispositivo non si sarebbe spento, avrebbe semplicemente elaborato dati errati. Ma in tal caso il sensore avrebbe segnalato errati valori di posizione, cosa che sarebbe stata altrettanto fatale. Al contrario, una implementazione corretta avrebbe dovuto catturare l’errore di trabocco, fornendo una strategia per ricalcolare i dati di volo. Ovviamente, in questo contesto “lasciar perdere” non era una scelta ragionevole. Il vantaggio del meccanismo di gestione delle eccezioni sta nel fatto che rende questi problemi espliciti per i programmatori, una cosa a cui dovete pensare quando state maledicendo il compilatore Java perché si lamenta di eccezioni non catturate. (dal libro: Concetti di informatica e fondamenti di Java)
@CodeBrothers
@CodeBrothers 5 месяцев назад
Bellissima storia, ecco perché a maggior ragione continueremo a non prendere altri voli 🤣
@alexdelarge1508
@alexdelarge1508 5 месяцев назад
@@CodeBrothers azz... non era mia intenzione alimentare alcuna fobia :D
@dnlnfr
@dnlnfr 2 года назад
Una volta ho visto una try catch però con una sintassi diversa, c'era una dichiarazione dentro le parentesi tonde subito dopo il try
@CodeBrothers
@CodeBrothers 2 года назад
Ottima osservazione, esattamente! Ciò di cui parli si chiama "Try with resources" e lo tratteremo in un video a parte. Non mancheremo di accennarlo comunque tra due puntate quando parleremo del Try-Catch per bene ^_^
@luigimiranda98
@luigimiranda98 2 года назад
🔥🔥 Tra quanto arriveranno le lezioni con esercizi completi? Non vedo l'ora 😍
@CodeBrothers
@CodeBrothers 2 года назад
Buongiorno Luigi! Bellissima domanda! Proprio in questi giorni stiamo pensando a dei mega esercizi riassuntivi. Proabilmente porteremo sul canale, anche in seguito alle richieste di alcuni Code-Brothers, degli esercizi per esami universitari che dovrebbero comprendere molti degli argomenti trattati e anche qualcosa in più come Database.🧐 Ormai le basi le stiamo per concludere, nelle prossime lezioni vedremo qualcosa di molto interessante sull'Exception-Handling e finalmente si potrà cominciare a pensare ad argomenti come Socket, I/O, BufferedReaders e credo proprio porteremo sul canale anche la realizzazione di una Chat completa, da creare passo passo assieme! Se hai qualche esigenza particolare faccela pure sapere su Instagram o via email e provvederemo, un saluto e al prossimo lunedì!
@margolitapnina6716
@margolitapnina6716 2 года назад
aiuto sono indietrissimo 😭
@CodeBrothers
@CodeBrothers 2 года назад
Ciao Margolitaaa! Dai forza che stiamo finalmente per arrivare alla parte più interessante ✨ Forse potremmo anche pubblicare qualcosa di inedito prossimamente (una CRUD con le servlet 💥)
Далее
НЮША РОЖАЕТ?
00:17
Просмотров 893 тыс.
小丑调戏黑天使的后果#short #angel #clown
00:16
Exception Handling in Java Tutorial
13:20
Просмотров 395 тыс.
Improving Readability Through Fewer Arguments
13:12
Просмотров 2,3 тыс.
The New Python 3.13 Is FINALLY Here!
20:39
Просмотров 48 тыс.
Throw And Throws In Java Tutorial #48
9:49
Просмотров 36 тыс.
LaTeX: scrivere documenti come un pro - Dr. Enrico Mensa
1:17:00
НЮША РОЖАЕТ?
00:17
Просмотров 893 тыс.