Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

robsonbrumatt

OpenPop.Pop3.Exceptions.. Sem sucesso

Recommended Posts

Pessoal tenho me debruçado sobre o OpenPop e achando muito maneiro. No momento me deparei com algo que não tenho entendido bem.

 

Nos meus métodos uso o try cath... ate então sem problemas.

 

Adicionei o OpenPop fiz as devidas referencias e foram reconhecidas de boa.

 

Em um método da camada de dados adicionei um cath com PopServerNotFoundException para ser referencia quando o servidor de e-mail não estive disponível, ele funciona bem mas só ate ele mesmo.

 

Quando a exceção ocorre o PopServerNotFoundException pega a exceção e deveria repassar, pelo throw que incluir gerando outro PopServerNotFoundException, para ser pego pelo cath do método anterior e ai ta o problema, o cath anterior não reconhece e pula para o Exception genérico.

 

Alguém sabe o que estou fazendo de errado...

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Use um catch com Exception normal e defina o tipo.

 

Ex:

Catch (Exception e)
{

   if(typeof(e) is PopServerNotFoundException)
   {}

}
Ola! KhaosDoctor.
Como de costume sua dica foi muito eficiente em meu processo de aprendizado.
Tentei realizar o codigo que indicou. Em primeira instancia nao funcionou.
Catch (Exception e)
{
if(typeof(e) is PopServerNotFoundException)
{}
}
Informava o seguinte erro.
"The type or namespace name 'e' could not be found (are you missing a using directive or an assembly reference?)"
Entao aproveitei a dica e revisei assuntos de typeof, is, getType() e equal etc...
e montei da seguinte maneira
catch (Exception e)
{
if ( e.GetType() == typeof(PopServerNotFoundException))
{
throw new PopServerNotFoundException("Nao há conexão com o servidor no momento. Tente mais tarde!", e);
}
throw;
}.
Passou a funcionar perfeitamente.
Vi na internet casos de funcionamento diferente usando montagens diferentes.
Nao entendi muito as explicacoes informadas mas funcionou legal para mim essa maneira.
No processo identifiquei uma falta de referencia ao namespace do pop3. Achei que fosse esse o motivo do primeiro modo nao funcinar.
Para tirar a duvida, apos testar esta forma e ter dado corretamente, testei a primeira novamente e o erro se repetio.
Bom agradeço sua dica e espero ter contribuido, de alguma forma tambem, neste entendimento.
Agradeço desde já a atençao dispensada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.