# safeError

0th

Percentile

##### Declare an error safe for the user to see

This should be used when you want to let the user see an error message even if the default is to sanitize all errors. If you have an error e and call stop(safeError(e)), then Shiny will ignore the value of getOption("shiny.sanitize.errors") and always display the error in the app itself.

##### Usage
safeError(error)
##### Arguments
error
Either an "error" object or a "character" object (string). In the latter case, the string will become the message of the error returned by safeError.
##### Details

An error generated by safeError has priority over all other Shiny errors. This can be dangerous. For example, if you have set options(shiny.sanitize.errors = TRUE), then by default all error messages are omitted in the app, and replaced by a generic error message. However, this does not apply to safeError: whatever you pass through error will be displayed to the user. So, this should only be used when you are sure that your error message does not contain any sensitive information. In those situations, safeError can make your users' lives much easier by giving them a hint as to where the error occurred.

##### Value

An "error" object

shiny-options

• safeError
##### Examples
## Only run examples in interactive R sessions
if (interactive()) {

# uncomment the desired line to experiment with shiny.sanitize.errors
# options(shiny.sanitize.errors = TRUE)
# options(shiny.sanitize.errors = FALSE)

# Define UI
ui <- fluidPage(
textInput('number', 'Enter your favorite number from 1 to 10', '5'),
textOutput('normalError'),
textOutput('safeError')
)

# Server logic
server <- function(input, output) {
output$normalError <- renderText({ number <- input$number
if (number %in% 1:10) {
return(paste('You chose', number, '!'))
} else {
stop(
paste(number, 'is not a number between 1 and 10')
)
}
})
output$safeError <- renderText({ number <- input$number
if (number %in% 1:10) {
return(paste('You chose', number, '!'))
} else {
stop(safeError(
paste(number, 'is not a number between 1 and 10')
))
}
})
}

# Complete app with UI and server components
shinyApp(ui, server)
}

Documentation reproduced from package shiny, version 0.14.2, License: GPL-3 | file LICENSE

### Community examples

Looks like there are no examples yet.