Jump to content
Moneybag

Try and Catch: onde colocar?

Recommended Posts

Moneybag

Deves colocar o try catch nos sitios em que sabes como tratar a excepção.

Se não sabes o que fazer á excepção na classe, deixa-a propagar até onde a conseguires tratar, se sabes como a tratar, podes apanha-la e dar-lhe o tratamento devido.

podes dar um exemplo de código de um tratamento de uma excepção?

Share this post


Link to post
Share on other sites
Andrepereira9

boas

Deixo-te aqui uma amostra de um excerto de código para enviar emails, utilizando o Try Catch. É em VB, mas dá para perceberes o conceito.

Try
   mail.From = New MailAddress("email@email.com", "", System.Text.Encoding.UTF8)
   Dim i As Byte
   For i = 0 To addr.Length - 1
        mail.To.Add(addr(i))
   Next
   mail.Subject = "Assunto"
   mail.Body = "Mensagem"
   mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure
   SmtpServer.Send(mail)

Catch ex As Exception
    msgbox ("O seu email não foi enviado!! Tente novamente!!")

Finally
    msgbox ("O seu email foi enviado com Sucesso!!")

End Try

Ou seja o que esta dentro do 'Try', é o código que vai enviar o email.

Se por acaso ocorrer algum imprevisto, por exemplo falta de Internet, dados errados, ....ele passa para o Catch.

O Catch, vai realizar o que la estiver, neste caso, vai apresentar uma mensagem a dizer que não foi enviado.

Se o código nao der nenhum erro inesperado, ele passa para o Finally, e faz o que indicares.

As vantagens disto, é que se fosses a por o código sem este tratamento, se ocorrer algum erro vai apresentar um erro 'esquisito' e a aplicação pode crashar ou encerrar, o que é incomodo para o utilizador final. Assim, faz o que tu mandares.

PS: O Catch e o Finally, não precisam de ter nenhum codigo.


A informática chegou para resolver problemas que antes não existiam

Quem ri por último é porque está conectado a 52 Kbs.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.