errorista : aquele que mantém e propaga o erro
- Merriam Webster
O objetivo do errorist
é pesquisar erros e avisos automaticamente assim que eles surgirem.
O pacote errorist
está disponível no CRAN e no GitHub. A versão CRAN é considerada estável enquanto a versão GitHub está em estado de desenvolvimento e pode falhar. Você pode instalar a versão estável do pacote errorist
com:
install.packages( " errorist " )
Para a versão de desenvolvimento, você pode optar por:
if ( ! requireNamespace( " remotes " )) { install.packages( " remotes " ) }
remotes :: install_github( " coatless-rpkg/errorist " )
library( errorist )
Quando o pacote errorist
é carregado, dois manipuladores são automaticamente estabelecidos para interceptar as mensagens de erro e aviso que surgem durante a execução do código. As mensagens interceptadas são então direcionadas para mecanismos de busca pré-especificados na Internet, usando o navegador do sistema preferido do usuário. Por padrão, o mecanismo de busca usado para procurar as mensagens é o Google.
Você pode especificar um manipulador de mecanismo de pesquisa diferente definindo valores padrão:
errorist.warning
: Aviso do portal do mecanismo de pesquisa. O padrão é searcher::search_google
.errorist.error
: Erro no portal do mecanismo de pesquisa. O padrão é searcher::search_google
.errorist.autoload
: Pesquisa erros automaticamente. O padrão é TRUE
. Se ocorrer uso frequente do pacote, considere adicionar os diferentes manipuladores de pesquisa como uma opção em seu .Rprofile
:
# Add custom options
.First <- function () {
options(
errorist.warning = searcher :: search_google ,
errorist.error = searcher :: search_google
)
}
# Load the package if in RStudio or R GUI
if (interactive()) {
suppressMessages(require( errorist ))
}
A ideia do errorist
veio de uma conversa entre Dirk Eddelbuettel, Barry Rowlingson e eu, pensando em fazer com que os compiladores fornecessem um link explicando o que o erro significava e como resolvê-lo. Esta conversa surgiu devido ao excesso de texto do mouse em XKCD Comic 1185: Inefficient Sorts.
StackSort se conecta ao StackOverflow, pesquisa 'classificar uma lista' e baixa e executa trechos de código até que a lista seja classificada.
Este tipo de pesquisa de código foi implementado por:
https://gkoberger.github.io/stacksort/
A ideia passou da avaliação de blocos de código aleatórios para o fornecimento de suporte de pesquisa para erros que ocorreram em tempo de execução.
addTaskCallback()
como uma forma de criar um manipulador de aviso e por uma breve discussão sobre objetos de “chamada”.last.warning
semidocumentado que R preenche com mensagens de aviso.GPL (>= 2)