Class: DetailedError

@nginstack/engine/lib/error/DetailedError~ DetailedError


new DetailedError(error [, solution] [, details] [, code])

Classe de erro com mais detalhes que a nativa Error. Ela permite indicar para o usuário uma possível solução para o erro e separa os detalhes técnicos da mensagem a ser exibida para o usuário.

Em versões antigas do sistema, o quarto parâmetro deste construtor (atualmente o code) recebia a localização do erro e depois passou a aceitar um código numérico do erro, guardado na propriedade errorCode. Por motivos de compatibilidade, códigos que contenham os caracteres ".", "(", "/" e " " (espaço) serão interpretados como uma localização do erro em vez de um código de erro, sendo atribuídos à propriedade sourceLocation em vez code. Devido a esse tratamento especial, esses caracteres não podem ser utilizados em códigos de erro. Esse tratamento de compatibilidade será removido em versões futuras do sistema, portanto é recomendado que códigos que informem uma localização do erro sejam revistos para deixar de informar esse parâmetro.

Esta classe também é publicada pelo Engine por meio da variável global DetailedError.

Parameters:
Name Type Argument Description
error string

Mensagem de erro a ser exibida para o usuário.

solution string <optional>

Procedimento que o usuário deverá realizar para que o erro não seja produzido novamente.

details string <optional>

Detalhes técnicos do erro. Detalhes que sejam de interesse exclusivo de desenvolvedores devem ser preferencialmente informados por este parâmetro em vez da mensagem de erro.

code string | number <optional>

Código que identifica o erro, permitindo que ele possa ser testado e tratado sem a inspeção da mensagem de erro.

Extends

  • Error

Members


code :string|number

Código que identifica o erro, permitindo que ele possa ser testado e tratado sem a inspeção da mensagem de erro.

É recomendado que os códigos de erro sejam textuais e possuam algum prefixo que identifique a origem do erro, evitando que classes ou módulos distintos utilizem o mesmo código para erros de natureza distinta.

Type:
  • string | number
Example
if (err.code == 'ERR_CRYPTO_INVALID_IV') {
 }

details :string

Detalhes técnicos do erro. Detalhes que sejam de interesse exclusivo de desenvolvedores devem ser preferencialmente informados nesta propriedade em vez da #error.

Type:
  • string

error :string

Mensagem de erro a ser exibida para o usuário.

Type:
  • string

errorCode :string|number

Código que identifica o erro. Propriedade mantida apenas para fins de compatibilidade. Em seu lugar, utilize a propriedade code.

Type:
  • string | number
Deprecated:
  • Utilize a propriedade `error`.
See:

solution :string

Procedimento que o usuário deverá realizar para que o erro não seja produzido novamente.

Type:
  • string

sourceLocation :string

Local onde o erro foi gerado, relevante apenas para indicar a localização interna dos erros lançados pelo Engine.

Esta propriedade não deve ser utilizada em códigos JavaScript, pois a pilha do erro já indica a localização de forma mais confiável. Ela antes poderia ser informada no quarto parâmetro do construtor, mas foi substituída pelo código do erro no construtor atual desta classe.

Type:
  • string