Articles of gestione delle eccezioni

Quando è corretto utilizzare la gestione delle eccezioni per la business logic?

Penso che sia accettato che come regola generale in Java (e forse in qualsiasi linguaggio con gestione delle eccezioni) si dovrebbe cercare di evitare l’uso della gestione delle eccezioni per gestire effettivamente la logica di business. In generale, se è previsto che si verifichi una determinata situazione, è necessario verificarla e gestirla più direttamente che […]

Numero di riga errato sulla traccia dello stack

Ho questo codice try { //AN EXCEPTION IS GENERATED HERE!!! } catch { SqlService.RollbackTransaction(); throw; } Il codice sopra è chiamato in questo codice try { //HERE IS CALLED THE METHOD THAT CONTAINS THE CODE ABOVE } catch (Exception ex) { HandleException(ex); } try { //HERE IS CALLED THE METHOD THAT CONTAINS THE CODE ABOVE […]

Quali eccezioni non dovrei prendere?

Ho un’app che esegue un processo batch lungo in cui potrebbero essere generate molte eccezioni. Se viene lanciata un’eccezione non critica durante un elemento nel batch, desidero semplicemente registrarla e continuare, in modo da poter risolvere il problema in un secondo momento lasciando che gli altri elementi continuino. Alcune eccezioni, come OutOfMemoryException , sono devastanti […]

Prova a riprendere finalmente e poi ancora una prova

Ho spesso incontrato situazioni come: – try{ … stmts … } catch(Exception ex) { … stmts … } finally { connection.close // throws an exception } che ha ancora bisogno di un tentativo: catturare il blocco finalmente. Qual è la migliore pratica per superare questo?

In Javascript, è costoso utilizzare blocchi try-catch anche se non viene mai lanciata un’eccezione?

È “lento” utilizzare diversi blocchi try-catch quando nessuna eccezione viene lanciata in nessuna di esse? La mia domanda è la stessa di questa , ma per Javascript. Supponiamo che io abbia 20 funzioni con blocchi try-catch. E un’altra funzione che chiama ognuna di quelle 20 funzioni. Nessuno di loro farà un’eccezione. Il mio codice si […]

C ++ try / throw / catch => codice macchina

Mentalmente, mi sono sempre chiesto come provare / lanciare / catturare guarda dietro le quinte, quando la compilazione del C ++ lo traduce in assemblatore. Ma dal momento che non l’ho mai usato, non sono mai riuscito a verificarlo (alcune persone direbbero pigre). La pila normale è usata per tenere traccia dei try s, o […]

L’override di asp.net mvc OnException nel controller di base continua a propagarsi a Application_Error

Sto cercando di restituire una vista non emettere un reindirizzamento all’utente in base a determinati errori che potrebbero verificarsi dalla mia applicazione, voglio gestire gli errori + registrarli all’interno del mio controller di base, non voglio che l’errore si propaghi al mio Global.asax – Application_Error () metodo come voglio questo metodo per gestire eventuali altri […]

Gestione delle eccezioni in Haskell

Ho bisogno di aiuto per capire l’uso delle tre funzioni di Haskell provare ( Control.Exception.try :: Exception e => IO a -> IO (Either ea) )) catch ( Control.Exception.catch :: Exception e => IO a -> (e -> IO a) -> IO a ) handle ( Control.Exception.handle :: Exception e => (e -> IO a) […]

Quali parti di Real World Haskell sono ormai obsolete o considerate cattive pratiche?

Nel capitolo 19 di Real World Haskell molti degli esempi ora falliscono a causa del cambio di Control.Exception . Questo mi fa pensare che forse alcune delle cose in questo libro sono effettivamente obsolete e non vale la pena studiarle più, dopo tutto sono passati 6 anni. Il mio unico altro riferimento è Learn You […]

Gestione asincrona delle eccezioni con vuoto

Sto usando Async CTP per scrivere un’app di console pesante IO. Ma sto avendo problemi con le eccezioni. public static void Main() { while (true) { try{ myobj.DoSomething(null); } catch(Exception){} Console.Write(“done”); //… } } //… public async void DoSomething(string p) { if (p==null) throw new InvalidOperationException(); else await SomeAsyncMethod(); } E succede il seguente: “done” […]