Rafael Laurindo Postado Maio 20, 2010 Denunciar Share Postado Maio 20, 2010 (editado) Pessoal, ao fazer issoclasse ExceptionException = { class : function(msg){ if (msg) document.write(msg) } codigo html <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <title>Tests</title> <script type="text/javascript" src="include.js"></script> <script type="text/javascript"> include('Exception.js') function teste(id) { if(id) throw new Exception.class ('Id defined!') } </script> </head> <body> <form> <input type="text" id="txtTeste" onkeydown="teste(this.id)"/> </form> </body> </html>Estou tendo isso de resposta no firebug do firefox: uncaught exception: [object Object] Editado Maio 21, 2010 por Rafael Laurindo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Maio 20, 2010 Denunciar Share Postado Maio 20, 2010 Você esqueceu uma "}" ali, só não sei se foi erro ao postar ou o código estava assim. Se o código está correto, veja se a função include está sendo executada corretamente. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rafael Laurindo Postado Maio 20, 2010 Autor Denunciar Share Postado Maio 20, 2010 Foi erro ao postar. O código da classe Exception está certinho. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Maio 21, 2010 Denunciar Share Postado Maio 21, 2010 O uncaught exception ocorre porque a exceção não foi tratada, e o erro é escrito como [object Object] porque é necessário mostrar o objeto como string e a conversão padrão de um objeto para string retorna sempre [object Object].A solução para isso é modificar a forma como o objeto é convertido para texto, o que pode ser feito a partir do método toString. Exemplo:Exception = { class: function (msg) { this.toString = function () { return "Erro: '"+msg+"'" } if (msg) document.write(msg) } } function teste(id) { if (id) throw new Exception.class('Id defined!') }Obs.:Juntei o código da classe ao arquivo para facilitar. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rafael Laurindo Postado Maio 21, 2010 Autor Denunciar Share Postado Maio 21, 2010 (editado) Entendi, você retornou uma string, visto que o throw entende apenas string, e não objeto. Editado Maio 21, 2010 por Rafael Laurindo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Maio 21, 2010 Denunciar Share Postado Maio 21, 2010 Não é bem isso. O throw aceita qualquer objeto, mas o valor que é mostrado no console de erros precisa ser uma string. Você pode enviar um objeto ao throw e trabalhar com ele no catch, a função toString foi criada apenas para que o valor seja exibido corretamente no firebug. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rafael Laurindo Postado Maio 21, 2010 Autor Denunciar Share Postado Maio 21, 2010 Entendi, mas e se eu quisesse apenas parar o script, e usar o document.write para mostrar um erro, e não deixar por conta do firebug, como seria? Usando o try e catch? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Maio 21, 2010 Denunciar Share Postado Maio 21, 2010 Exato! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rafael Laurindo Postado Maio 21, 2010 Autor Denunciar Share Postado Maio 21, 2010 (editado) Agora eu entendi, é como se transformasse o objeto em string. Valeu Jonathan, você é o cara, no bom sentido. Editado Maio 22, 2010 por Rafael Laurindo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Maio 22, 2010 Denunciar Share Postado Maio 22, 2010 De nada, qualquer coisa posta aí. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Rafael Laurindo
Pessoal, ao fazer isso
classe Exception
codigo htmlEstou tendo isso de resposta no firebug do firefox: uncaught exception: [object Object]
Editado por Rafael LaurindoLink para o comentário
Compartilhar em outros sites
9 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.