La gestione delle eccezioni è il processo di risposta al verificarsi di condizioni anomale o eccezionali che richiedono un'elaborazione speciale, cambiando spesso il normale flusso di esecuzione del programma.
Esistono molte best practice ben note sulla gestione delle eccezioni in isolamento. Conosco abbastanza bene le cose da fare e da non fare, ma le cose si complicano quando si tratta di buone pratiche o schemi in ambienti più grandi. "Lancia presto, prendi tardi" - Ho sentito molte volte e …
È un antipasto? È una pratica accettabile? try { //do something } catch (Exception e) { try { //do something in the same line, but being less ambitious } catch (Exception ex) { try { //Do the minimum acceptable } catch (Exception e1) { //More try catches? } } }
Il modo classico di programmare è con try ... catch. Quando è appropriato usare trysenza catch? In Python appare legale e può avere senso: try: #do work finally: #do something unconditional Tuttavia, il codice non ha fatto catchnulla. Allo stesso modo si potrebbe pensare in Java che sarebbe il seguente: …
Ho letto un codice di un collega e ho scoperto che spesso intercetta varie eccezioni e poi genera sempre una "RuntimeException". Ho sempre pensato che fosse una brutta pratica. Ho sbagliato?
Tornati a scuola circa 10 anni fa, ti stavano insegnando a usare gli identificatori di eccezione. Dal momento che il mio background è uno di quei programmatori Torvaldish C che evita ostinatamente il C ++ a meno che non sia costretto a farlo, finisco sporadicamente in C ++ e, quando …
Apprezzo molto le nuove funzionalità di Java 8 su lambdas e le interfacce dei metodi predefiniti. Tuttavia, mi annoio ancora con le eccezioni verificate. Ad esempio, se voglio solo elencare tutti i campi visibili di un oggetto, vorrei semplicemente scrivere questo: Arrays.asList(p.getClass().getFields()).forEach( f -> System.out.println(f.get(p)) ); Tuttavia, poiché il getmetodo …
Molti linguaggi moderni offrono funzionalità avanzate di gestione delle eccezioni , ma il linguaggio di programmazione Swift di Apple non fornisce un meccanismo di gestione delle eccezioni . Forte di eccezioni come me, ho problemi a pensare a cosa significhi. Swift ha asserzioni e, naturalmente, valori di ritorno; ma ho …
So di poter gettare un'eccezione dal costruttore in PHP, ma dovrei farlo? Ad esempio, se il valore di un parametro non è come me l'aspettavo. O dovrei posticipare il lancio di un'eccezione fino a quando non viene invocato un metodo. Quali sono i vantaggi e gli svantaggi in entrambi i …
Questa domanda è destinata a qualsiasi linguaggio di programmazione OO che supporti la gestione delle eccezioni; Sto usando C # solo a scopo illustrativo. Le eccezioni sono generalmente intese per essere sollevate quando sorge un problema che il codice non può gestire immediatamente, e quindi per essere catturate in una …
In varie lingue (almeno Java, pensi anche in C #?) Puoi fare cose del genere if( condition ) singleStatement; while( condition ) singleStatement; for( var; condition; increment ) singleStatement; Quindi, quando ho una sola affermazione, non ho bisogno di aggiungere un nuovo ambito con { }. Perché non posso farlo …
Esempio: foobar = new InputStreamReader(p.getInputStream(), "ISO-8859-1"); Poiché la codifica è codificata e corretta, il costruttore non genererà mai l'UnsupportedEncodingException dichiarata nelle specifiche (a meno che l'implementazione java non venga interrotta, nel qual caso mi perdo comunque). Comunque, Java mi costringe a gestire comunque quell'eccezione. Attualmente sembra così try { foobar …
Mi chiedo quali sono i vantaggi della Maybe monade rispetto alle eccezioni? Sembra che Maybesia solo un modo esplicito (e piuttosto dispendioso in termini di spazio) di try..catchsintassi. aggiornare noti prego che sto volutamente non menzionare Haskell.
Analizzatori di codice statici come Fortify "si lamentano" quando un'eccezione potrebbe essere lanciata all'interno di un finallyblocco, dicendo che Using a throw statement inside a finally block breaks the logical progression through the try-catch-finally. Normalmente sono d'accordo con questo. Ma recentemente ho trovato questo codice: SomeFileWriter writer = null; try …
Alcuni linguaggi (come C ++ e le prime versioni di PHP) non supportano la finallyparte di un try ... catch ... finallycostrutto. È finallymai necessario? Poiché il codice in esso viene sempre eseguito, perché non dovrei / non dovrei semplicemente inserire quel codice dopo un try ... catchblocco senza una …
Ho un'app Web Spring a tre livelli: dao, servizio e controller. Un controller non chiama mai direttamente il dao, lo fa attraverso il livello di servizio. Al momento, la maggior parte delle volte se esiste un'eccezione dao (runtime) che non viene gestita, verrà catturata da un JSP che mostra un …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.