PROGRAMA PAROU DE RESPONDER - INTERMITENTE

FBGSYSTEMS 21/01/2016 12:05:56
#456340
Boa tarde pessoal
Fiz um gerenciador para trabalhar no S@T em C#. Porem algo estranho esta acontecendo e não sei como resolver.

Hora funciona normal, porem do nada acontece algo e o sistema para de funcionar sem dar nenhuma excessão nem nada deste tipo.

Ja fiz vários Try Catch em pontos onde imaginei que algo poderia acontecer e nada.

Uso banco de dados MySQL com Mysql.Data.dll

Alguem sabe o que pode ser ?
FBGSYSTEMS 21/01/2016 12:31:03
#456342
Detalhe que comigo no desenvolvimento não acontece nada.
FBGSYSTEMS 21/01/2016 15:41:44
#456349
Acabei de fazer um log em todas funções do meu sistema.
Cheguei a conclusão que o erro esta nesse metodo:
        public clsOrcamento GetOrc(long codorc1)
{
auditoria.GravaAuditoria([Ô]GetOrc([Ô] + codorc1.ToString () + [Ô])[Ô]);
clsOrcamento _return = null;
string retornoConexao;
databases conecta = new databases();
retornoConexao = conecta.conectaMySql();
// abre a instancia do comando SQL
if (retornoConexao != [Ô]Conectou[Ô])
{
return null;
}
else
{
try
{
this.sql = [Ô]select * from orcamento where codorc=@codorc[Ô];
auditoria.GravaAuditoria(this.sql.Replace([Ô]@codorc[Ô],codorc1.ToString ()));
using (MySqlCommand cmd = new MySqlCommand(this.sql, conecta.conexao))
{
cmd.Parameters.AddWithValue([Ô]@codorc[Ô], codorc1);
using (MySqlDataReader dr = cmd.ExecuteReader())
{
if (dr.HasRows)
{
auditoria.GravaAuditoria([Ô]Achou dados[Ô]);
_return = new clsOrcamento();

auditoria.GravaAuditoria([Ô]Lendo dados[Ô]);
while (dr.Read())
{


Tudo me leva a quer que é na linha [Ô]While (dr.read())[Ô], pois logo abaixo ja tem outra gravação do log e não chega lá.
O estranho é que hora funciona e hora não, fechei o gerenciador, retransmiti o cupom e validou normal. Alguem pode me ajudar por favor? Estou me desesperando ja pois tenho varios sistemas que faço da mesma forma e não da esse problema.

PS: A versão do Mysql.Data.dll é a mesma
JABA 21/01/2016 15:52:46
#456351
Certamente é um bug dentro do seu próprio sistema que passou despercebido.
FBGSYSTEMS 21/01/2016 16:02:44
#456353
Oi JABA, obrigado pela resposta.
Mas um bug que hora funciona e hora não funciona ? Não consegue me ajudar a achar, esta estranho isso. Verifiquei as propriedades do projeto, esta x86(pensei que poderia estar dando incompatibilidade). Nem com o Try Catch nao evita esse problema.
JABA 21/01/2016 16:28:31
#456354
Coloque um try catch em todo metodo e dispare uma nova excecao quando capturar o erro, senão não vai acontecer nada se houver erro.

ex:

public clsOrcamento GetOrc(long codorc1)
{
try
//todo o codigo do metodo
catch
{
throw;
}
}


FBGSYSTEMS 21/01/2016 16:31:54
#456355
Mesmo com o try que coloquei naquele ponto o sistema para de responder, ele nao [Ô]pula[Ô] o erro.
Coloquei o que voce falou e vou mandar ao cliente para testar.
JABA 21/01/2016 16:44:38
#456356
Citação:

public clsOrcamento GetOrc(long codorc1)



Não se esqueça que no local onde você chama esse metodo, a exceção pode não estar sendo disparada também. Ou seja, se tiver um erro dentro desse metodo, o objeto que o está chamando vai captura-lo, e se lá dentro tiver um catch, pode não estar deixando o erro chegar ao usuário.
FBGSYSTEMS 21/01/2016 16:47:57
#456357
eSTOU FAZENDO ASSIM AO CHAMAR ESTE METODO

            clsOrcamento venda = null;
// criamos nessa funçao o arquivo da venda o arquivo da venda
try
{
venda = new bdsOrcamento().GetOrc(codorc);
}
catch (Exception erro)
{
venda = null;
}

JABA 21/01/2016 16:54:02
#456358
Citação:

clsOrcamento venda = null;
// criamos nessa funçao o arquivo da venda o arquivo da venda
try
{
venda = new bdsOrcamento().GetOrc(codorc);
}
catch (Exception erro)
{
venda = null;
}



Acho que esse é o seu problema. Ele captura o erro e o retém pra si. Faça assim pra ver como ele vai se comportar:

        clsOrcamento venda = null;
// criamos nessa funçao o arquivo da venda o arquivo da venda
try
{
venda = new bdsOrcamento().GetOrc(codorc);
}
catch (Exception erro)
{
venda = null;
[txt-color=#e80000] throw;[/txt-color]
}

FBGSYSTEMS 21/01/2016 17:06:57
#456362
JABA, vou tentar isso tambem. Porém é algo que nunca aconteceu. Normalmente o sistema em uma excessao nao tratada retorna um Crash com detalhes de onde deu o problema e também com opção de encerrar a aplicação ou continuar a execução.
Isso que esta me [Ô]encafifando[Ô].
Página 1 de 3 [22 registro(s)]
Tópico encerrado , respostas não são mais permitidas