Automatically Search Errors or Warnings

Provides environment hooks that obtain errors and warnings which occur during the execution of code to automatically search for solutions.


Project Status: Active - The project has reached a stable, usablestate and is being activelydeveloped. Travis-CI BuildStatus CRAN_Status_Badge CRAN RStudio mirrordownloads CoverageStatus

Merriam Webster

The goal of errorist is to automatically search errors and warnings the second they arise.

Installation

The errorist package is available on both CRAN and GitHub. The CRAN version is considered stable while the GitHub version is in a state of development and may break. You can install the stable version of the errorist package with:

install.packages("errorist")

For the development version, you can opt for:

install.packages("devtools")
 
devtools::install_github("coatless/errorist")

Usage

library(errorist)

Details

When the errorist package is loaded, two handlers are automatically established to intercept the error and warning messages that arise during execution of code. The intercepted messages are then directed to pre-specified search engines on the internet using the user’s preferred system web browser. By default, the search engine used to look up the messages is Google.

You can specify a different search engine handler by setting default values:

  • errorist.warning: Warning search engine portal. The default is searcher::search_google.
  • errorist.error: Error search engine portal. The default is searcher::search_google.
  • errorist.autoload: Automatically search errors. The default is TRUE.

If frequent use of the package occurs, consider adding the different search handlers as an option in your .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))
}

Motivation

The idea for errorist came from a conversation among Dirk Eddelbuettel, Barry Rowlingson, and myself musing about having compilers provide a link explaining what the error meant and how to solve it. This conversation was sprouted due to the mouse overtext of XKCD Comic 1185: Ineffective Sorts.

StackSort connects to StackOverflow, searches for ‘sort a list’, and downloads and runs code snippets until the list is sorted.

This type of code search was implemented by:

https://gkoberger.github.io/stacksort/

The idea morphed from evaluating random code chunks to providing search support for errors that occurred at runtime.

Special Thanks

License

GPL (>= 2)

News

errorist 0.0.2

Bugfixes

  • Imported the search_google function from searcher to satisfy R CMD check.

Test Infrastructure

  • Enable the use of two cores to speed up Travis-CI builds.

errorist 0.0.1

Features

  • Created shims for warning and error handling
  • Automatically load and unload shims alongside package calls.
  • Added coverage tests to verify the presence of the handlers and for checking the contents of the error handler.

Special Thanks

This package exists in large part due to conversations or assistance from the following folks:

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("errorist")

0.0.2 by James Balamuta, 3 months ago


https://github.com/coatless/errorist


Report a bug at https://github.com/coatless/errorist/issues


Browse source code at https://github.com/cran/errorist


Authors: James Balamuta [aut, cre, cph]


Documentation:   PDF Manual  


GPL (>= 2) license


Imports searcher

Suggests testthat, covr, knitr, rmarkdown


See at CRAN