Em sistemas em camadas é importante termos recursos para rastrear em run-time erros que possam vir a ocorrer, de forma a identificar exatamente que erro ocorreu e onde.

O sistema de debug/trace do framework é excelente para isso. Mas uma pergunta que costumam me fazer eventualmente é: Como saber o nome do método que está em execução para mostrar isso no trace?

Pois até isso as classes do framework resolvem para nós. Podemos criar uma função que nos devolva o nome do método em execução. Veja como fica:

 
  Function GetCurrentMethodName() As String

  Dim stack As New System.Diagnostics.StackFrame(1)

  Return stack.GetMethod().Name

End Function
            

A classe StackFrame devolve a pilha de execuções, algo como a janela Call Stack no Visual Studio. O item 0 é esta própria função, então precisamos pegar o item 1, quem chamou essa função, e retornar o nome do método. Assim podemos obter em run-time o nome do método em execução e utilizar esse recurso em padrões de trace para nossos sistemas.