Show all InnerExceptions without using Recursion.

Private Sub ShowAllInnerExceptions(ByVal ex As Exception)
    Dim txt As String = ex.Message & vbCrLf
    Do Until ex.InnerException Is Nothing
        ex = ex.InnerException
        txt &= ex.Message & vbCrLf
    Loop
    MsgBox(txt)
End Sub