Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 9219429
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 18, 20262026-06-18T03:06:55+00:00 2026-06-18T03:06:55+00:00

When you call a method that does not exist on an object a NoMethodError

  • 0

When you call a method that does not exist on an object a NoMethodError will be raised i.e.

Object.new.foo

will output:

NoMethodError: undefined method `foo’ for #

while

nil.foo

will output:

NoMethodError: undefined method `foo’ for nil:NilClass

I want to copy this behaviour when raising an exception of my own, i.e.

foo = Object.new
raise StandardError, "#{foo} triggered an error"

which will output:

StandardError: #<Object:0xbf37748> triggered an error

which is exatly what I want.

Unfortunately

foo = nil
raise StandardError, "#{foo} triggered an error"

will output

StandardError: triggered an error

which is probably because nil.to_s is "". How do I get nil:NillClass as output?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-18T03:06:56+00:00Added an answer on June 18, 2026 at 3:06 am
    raise StandardError, "#{foo.inspect}:#{foo.class} triggered an error"
    

    Edit. You seem to want nil to behave differently. So prepare a different method just for using in your raise statement.

    class Object; def my_inspect; inspect end end
    class NilClass; def my_inspect; "#{inspect}:#{self.class}" end end
    
    raise StandardError, "#{foo.my_inspect} triggered an error"
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Im trying to call a method that will add or subtract 1 from a
For example, when I call a method that returns an value, but I'm not
I have the following method to create a new Connection object. It will open
What is their use if when you call the method, it might not exist?
i want to call a method that placed in tag in master page like
I am trying to call a method that requires some parameters based on previous
I have several models that need to call a method that takes a particular
In my .m file I call a method that is inside the same .m
I create a second thread to call a method that downloads several images using:
In Ruby I think you can call a method that hasn't been defined and

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.