TRATEI OS ERROS DIREITO???

MARCOS 03/08/2011 10:51:04
#380673
Prezados colegas,
Na classe de Acesso a Fontes de Dados abaixo,ao tratar os erros,
eu tomo somente duas ações:

- Registro o erro em um Log
- Retorno [Ô]False[Ô] para quem chamou o método, no caso de erro


peço aos colegas a seguinte:

Alguma sugestão sobre ações que eu deveria tomar (No caso de erro),
para os métodos abaixo (Conectar,Desconectar,Pesquisar executar) que não fiz?



-------------------------------------------------------------------------------

Imports System.Data.OleDb
Public Class ClFontedeDados

#Region [Ô]Declaração de variáveis para manipulação da Fonte de Dados[Ô]

[ô]Declara variáveis
Dim Con As OleDbConnection
Dim StringDeConexao As String
Dim Ada As OleDbDataAdapter
Dim Ds As DataSet
Dim Dr As OleDbDataReader
Dim Dt As DataTable
Dim Cmd As OleDbCommand
Dim Log As New ClLog

#End Region


#Region [Ô]Construtor[Ô]

Public Sub New()

[ô]------------------------
[ô]Define String de conexão
[ô]------------------------

[ô]Access
StringDeConexao = [Ô]Provider = Microsoft.JET.OLEDB.4.0;Data Source = C:\Bd1.mdb;Jet OleDB:DataBase Password =[Ô]


End Sub

#End Region

Public Function Conectar() As Boolean

Try

[ô]-------------------------------
[ô]Cria objeto conexão (Ms-Access)
[ô]-------------------------------
Con = New OleDbConnection(StringDeConexao)

[ô]----------------
[ô]Verifica conexão
[ô]----------------
Select Case Con.State

Case Is = ConnectionState.Closed

[ô]Abre conexão
Con.Open()

Case Else

End Select

[ô]Retorna
Return True

Catch ex As Exception

[ô]Desaloca recurso
Con.Dispose()

[ô]Grava Log
Log.Gravar(ex)

[ô]Retorna
Return False


End Try


End Function


Public Function Desconectar() As Boolean

Try


Select Case Con.State

Case Is = ConnectionState.Open

[ô]Fecha conexão
Con.Close()

Case Else

End Select


[ô]Retorna
Return True

Catch ex As Exception

[ô]Retorna
Return False

[ô]Grava Log
Log.Gravar(ex)

Finally

[ô]Descarta objeto
Con.Dispose()

End Try


End Function


Public Function Pesquisar(ByVal Instrucao_Sql As String) As DataSet

Try

Select Case Conectar()

Case Is = True

[ô]Criar objeto
Ds = New DataSet

[ô]Criar DataAdapter
Ada = New OleDbDataAdapter(Instrucao_Sql, Con)

[ô]Trasfere dados para DataTable
Ada.Fill(Ds)

[ô]Desconectar
Desconectar()

[ô]Returna valor
Return Ds


Case Else

[ô]Returna valor
Return Nothing


End Select


Catch ex As Exception

[ô]Returna valor
Return Nothing

[ô]Desconectar
Desconectar()

[ô]Grava Log
Log.Gravar(ex)

Finally

[ô]Descarta objetos da memória
Ds.Dispose()
Ada.Dispose()

End Try

End Function



Public Function Executar(ByVal InstrucaoSql As String) As Boolean


Try

Select Case Conectar()

Case Is = True

[ô]Cria objeto de Comando
Cmd = New OleDbCommand(InstrucaoSql, Con)

[ô]Executa Instrução Sql
Cmd.ExecuteNonQuery()

[ô]Retorna valor da função
Return True


Case Else


[ô]Retorna valor da função
Return False


End Select


Catch Ex As Exception


[ô]Retorna valor da função
Return False

[ô]Grava Log
Log.Gravar(Ex)



Finally

[ô]Descarta objeto
Cmd.Dispose()


End Try


End Function

End Class
KERPLUNK 03/08/2011 10:56:22
#380674
Resposta escolhida
Primeiro, não pegar os erros com exceção genérica, mas sim por tipos...
MARCOS 03/08/2011 12:17:58
#380682
Tudo bem,
Pegar por tipos....

Mas, pegando por tipos então, tem alguma ação que eu deva tomar, quando houver o erro ,
Além das que eu já tomei????

Lembrando,Eu:

- Gravei o erro num Log
- Retornei [Ô]False[Ô] para quem chamou o método

Mais alguma coisa??????
Tópico encerrado , respostas não são mais permitidas