+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 8 su 8

[VB2010] Try Catch che indica Nome Classe e Routine che ha generato l'errore

  1. #1
    gnsoft non è in linea Novello
    Salve, come da titolo avrei bisogno di sapere se esiste un modo per visualizzare il nome della CLASSE e della ROUTINE (Sub, Function, etc.) che ha generato l'errore. Ad esempio, data questa classe:

    Public Class Form1
    Private Sub Button_Click
    try
    .....istruzioni
    Catch errore As Exception
    ....Vorrei visualizzare qui un msgbox con l'indicazione del nome della CLASSE e della SUB/FUNCTION che ha generato l'errore
    End Sub
    End Class
    
    Grazie.

  2. #2
    L'avatar di bumm
    bumm non è in linea Topo di biblioteca Ultimo blog: [VB2010] ComboBox ed Enumeratori
    Beh, sei nella classe "Form12 e nella Sub "Button_Click".... crea una stringa che contiene questi nome e visualizzala....
    ℹ️ Leggi di più su bumm ...

  3. #3
    gnsoft non è in linea Novello
    Si questo è chiaro hai ragione ma io volevo sapere se VB ha qualche funzione in merito in modo tale che se lo voglio fare in ogni Sub/Function e magari scrivere un log, posso gestire il tutto richiamando una funzione che salva/visualizza questi dati. Anche perché se successivamente cambio il nome di una Sub/Function, devo ricordarmi di cambiare anche la stringa.

  4. #4
    L'avatar di bumm
    bumm non è in linea Topo di biblioteca Ultimo blog: [VB2010] ComboBox ed Enumeratori
    Puoi trovare il nome tramite reflection, ma stai attento, perché se usata di continuo, per esempio in un ciclo, può influire sulla velocità di esecuzione.

    System.Reflection.MethodBase.GetCurrentMethod().Name
    
    ℹ️ Leggi di più su bumm ...

  5. #5
    gnsoft non è in linea Novello
    Ok perfetto grazie mille è proprio quello che volevo. Risolvo quindi così:

    MsgBox(System.Reflection.MethodBase.GetCurrentMethod().Name) 'Visualizzo il METODO
    MsgBox(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name) 'Visualizzo il NOME DELLA CLASSE di appartenenza del metodo
    
    Ultima modifica di elisab; 06-05-2012 02:42  Motivo: tag [QUOTE] al posto di [CODE]

  6. #6
    gnsoft non è in linea Novello
    Ciao ho provato a creare una funzione che restituisce il metodo e la classe. Naturalmente mi restituircelo metodo e la classe di appartenenza della funzione. Come si fa per recuperare il metodo e la classe chiamante ?

  7. #7
    A questo punto potresti pensare di usare semplicemente

    Environment.StackTrace
    ℹ️ Leggi di più su AntonioG ...

  8. #8
    L'avatar di alextyx
    alextyx non è in linea Moderatore Globale
    Oltre a quanto suggerito da Antonio, penso che potresti usare la procedura di scrittura del log passandogli in ingresso dei parametri stringa che ricavi dove ti si genera l'errore.
    ℹ️ Leggi di più su alextyx ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Risposte: 0
    Ultimo Post: 17-01-2020, 18:37
  2. [vb2010] Eliminare elemento completamente classe
    Da glak nel forum Visual Basic .Net
    Risposte: 3
    Ultimo Post: 12-05-2014, 11:30
  3. Risposte: 4
    Ultimo Post: 11-03-2014, 00:32
  4. Lettura nome routine a runtime
    Da Ste nel forum Visual Basic 6
    Risposte: 11
    Ultimo Post: 03-01-2008, 21:50
  5. [VB6] CreateObject() e nome classe
    Da IceCube_MD nel forum Visual Basic 6
    Risposte: 9
    Ultimo Post: 20-08-2007, 02:04