method

unexpected

rails latest stable - Class: ActiveSupport::ErrorReporter

Method not available on this version

This method is only available on newer versions. The first available version (v7.2.3) is shown here.

unexpected(error, severity: :warning, context: {}, source: DEFAULT_SOURCE)
public

Either report the given error when in production, or raise it when in development or test.

When called in production, after the error is reported, this method will return nil and execution will continue.

When called in development, the original error is wrapped in a different error class to ensure it’s not being rescued higher in the stack and will be surfaced to the developer.

This method is intended for reporting violated assertions about preconditions, or similar cases that can and should be gracefully handled in production, but that aren’t supposed to happen.

The error can be either an exception instance or a String.

example:

  def edit
    if published?
      Rails.error.unexpected("[BUG] Attempting to edit a published article, that shouldn't be possible")
      return false
    end
    # ...
  end