Ciao, qualcuno sa dove posso trovare la lista delle eccezioni e i relativi numeri identificativi o almeno conoscendo il nome dell'eccezione trovare il numero ad essa riferito?
Grazie.
Ciao, qualcuno sa dove posso trovare la lista delle eccezioni e i relativi numeri identificativi o almeno conoscendo il nome dell'eccezione trovare il numero ad essa riferito?
Grazie.
Le eccezioni non hanno un numero, sono delle classi.
Amaro C++, il gusto pieno dell'undefined behavior.
Quello che intendo io è come intercettare l'eccezione e visualizzare il giusto messaggio di errore.
Tipo:
codice:if Err.Number = Num_eccezione then msgbox("Si è verificato il tal errore",,"Errore") end if![]()
Il tag della discussione è "VB.NET", per cui presumo che si parli di quel linguaggio... in VB.NET le eccezioni non si gestiscono più con l'oggetto Err e con i vari On Error Goto (anche se credo che sia supportato per motivi di compatibilità), ma con il costrutto Try ... Catch ... Finally.
Ecco un esempio:
Per la cronaca, credo che il numero restituito in questi casi dall'oggetto Err (da NON utilizzare) sia COR_E_DIVIDEBYZERO, ossia &H80020012; questo codice (hresult) è reperibile nella MSDN.codice:Try Dim i As Integer=1/0 Catch ex As DivideByZeroException MessageBox.Show("Attempted to divide by zero!") 'Non si usa MsgBox! End Try
Amaro C++, il gusto pieno dell'undefined behavior.
Grazie a Dio, aggiungo.Originariamente inviato da MItaly
in VB.NET le eccezioni non si gestiscono più con l'oggetto Err e con i vari On Error Goto [...]![]()
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
Mi riferisco al VB.NET ma come si è ampiamente capito arrivo dritto dritto dal VB6 . . .![]()
Grazie per l'informazione.
![]()
Non mi resta che consigliarti di leggere un buon manuale di VB.NET... da VB6 a VB.NET cambiano moltissime cose.
Amaro C++, il gusto pieno dell'undefined behavior.
Nonostante l'uso di eccezioni, in fondo anche in VB.NET è possibile ottenere qualcosa di simile alla gestione degli errori con codici numerici; invece di eseguire operazioni diverse a seconda del valore numerico dell'errore, basta farlo a seconda della classe di eccezione generata.Originariamente inviato da SkyNET290897
Mi riferisco al VB.NET ma come si è ampiamente capito arrivo dritto dritto dal VB6 . . .![]()
In ogni caso, tanto per ribadirlo, è un sistema che..."aborrooooo" (come direbbe Giampiero Mughini).![]()
Ciao!![]()
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
Grazie del consiglio, il manuale lo avevo letto ed infatti era presente solo la gestione degli errori strutturata, poi ho visto dalla guida in linea che c'era ancora quella non strutturata e sul momento ho utilizzato la vecchia On Error, comunque d'ora in avanti farò riferimento solo a quella strutturata.Originariamente inviato da MItaly
Non mi resta che consigliarti di leggere un buon manuale di VB.NET... da VB6 a VB.NET cambiano moltissime cose.
![]()