Desenvolvimento - Visual Basic .NET

Criando suas próprias Exceptions

Todos sabem que devemos tratar os erros e exceções que ocorrem no nosso sistema, porém, o que muitos não sabem é que podemos criar nossas próprias exceções.

por Ícaro C. Bombonato



Todos sabem que devemos tratar os erros e exceções que ocorrem no nosso sistema, porém, o que muitos não sabem é que podemos criar nossas próprias exceções. O processo é bem simples e pode ser bem útil em seus sistemas.

Você vai acompanhar o processo de criação de uma Exception que eu chamei de "OutOfResultsException"; Onde, no meu sistema, irei utilizar sempre que uma consulta não retornar resultados.

Abra seu projeto e crie uma nova classe chamada OutOfResultsException. (Ctrl + Shift + A)

Criada a classe, adicione herança a System.ApplicationException; Pois estaremos gerando uma exceção de aplicação.

Seu código ficará assim:

Public Class OutOfResultsException
    Inherits System.ApplicationException
    
End Class

Agora adicione o código a ser chamado sempre que a exception for disparada, no caso, a Sub New()

Public Sub New()
    MyBase.New("Nenhuma ocorrência encontrada para esta solicitação")
End Sub

Com isso, toda vez que a exception for disparada, irá gerar como "erro" a mensagem "Nenhuma ocorrência encontrada para esta solicitação"

Caso você queira passar uma mensagem diferente da default, crie mais um construtor New() porém com o paramêtro para a mensagem:

Public Sub New(ByVal Message As String)
    MyBase.New(Message)
End Sub

O código completo deverá ficar assim:

Public Class OutOfResultsException
    Inherits System.ApplicationException

    Public Sub New()
        MyBase.New("Nenhuma ocorrência encontrada para esta solicitação")
    End Sub

    Public Sub New(ByVal Message As String)
        MyBase.New(Message)
    End Sub

End Class

Para disparar a exceção criada utilize o "Throw New" e para trata-lá, utilize o Try Catch.

Try
    ...Código...

    If ds.Tables(0).Rows.Count <= 0 Then
        Throw New OutOfResultsException
    End If

    ...Código...

Catch ex As OutOfResultsException
    Throw ex
End Try

O primeiro passo foi dado, agora resta a você inovar e criar novas exceptions para serem utilizadas em seus sistemas.

Qualquer dúvida, crítica ou sugestão de artigo é só enviar um e-mail.

Abraços,

Ícaro Bombonato
ibombonato@deloitte.com

Ícaro C. Bombonato

Ícaro C. Bombonato - Analista de Sistemas, formado em Criação e desenvolvimento de web sites, atualmente está cursando Pós-Graduação em "Desenvolvimento de software para Web" na UFSCar. Trabalha com .NET desde Agosto de 2002 e tem atuado em diversos projetos de todos os portes.