Rice  2.1.1
Public Member Functions | List of all members
Rice::Exception Class Reference

A placeholder for Ruby exceptions. More...

#include <Exception_defn.hpp>

Inheritance diagram for Rice::Exception:
Rice::Exception_Base Rice::Object

Public Member Functions

 Exception (VALUE e)
 Construct a Exception with the exception e.
 Exception (Exception const &other)
 Copy constructor.
 Exception (Object exc, char const *fmt,...)
 Construct a Exception with printf-style formatting. More...
virtual ~Exception () throw ()
String message () const
 Get the message the exception holds. More...
virtual char const * what () const throw ()
 Get message as a char const *. More...
- Public Member Functions inherited from Rice::Exception_Base
 Exception_Base (VALUE v)
- Public Member Functions inherited from Rice::Object
 Object (VALUE value=Qnil)
 Encapsulate an existing ruby object.
 Object (Object const &other)
 Copy constructor.
virtual ~Object ()
bool test () const
 operator bool () const
bool is_nil () const
 Returns true if the object is nil, false otherwise.
 operator VALUE () const
 Implicit conversion to VALUE.
VALUE const volatile & value () const
 Explicitly get the encapsulated VALUE.
Class class_of () const
 Get the class of an object. More...
int compare (Object const &other) const
 Compare this object to another object. More...
String to_s () const
 Return a string representation of an object. More...
String inspect () const
 Inspect the object. More...
void freeze ()
 Freeze the object.
bool is_frozen () const
 Determine if the object is frozen. More...
void swap (Object &other)
 Swap with another Object.
Object instance_eval (String const &s)
 Evaluate the given string in the context of the object. More...
int rb_type () const
 Return the type of the underlying C object. More...
bool is_a (Object klass) const
 Determine whether the object is an instance of a class/module. More...
bool respond_to (Identifier id) const
 Determine if the objects responds to a method. More...
bool is_instance_of (Object klass) const
 Determine whether class is the object's class. More...
template<typename T >
void iv_set (Identifier name, T const &value)
 Set an instance variable. More...
Object iv_get (Identifier name) const
 Get the value of an instance variable. More...
Object attr_get (Identifier name) const
 Get the value of an instance variable, but don't warn if it is. More...
template<typename Retval_T >
Retval_T call (Identifier id, T1 arg1, T2 arg2,...) const
 Call the Ruby method specified by 'id' on object 'obj'. More...
Object call (Identifier id, T1 arg1, T2 arg2,...) const
 Version of call which defaults to Object return type.
Object vcall (Identifier id, Array args)
 Vectorized call. More...
void mark () const
 Mark the object with the garbage collector.

Additional Inherited Members

- Protected Member Functions inherited from Rice::Object
void set_value (VALUE v)
 Set the encapsulated value.

Detailed Description

A placeholder for Ruby exceptions.

You can use this to safely throw a Ruby exception using C++ syntax:

VALUE foo(VALUE self) {
throw Rice::Exception(rb_eMyException, "uh oh!");

Constructor & Destructor Documentation

§ Exception()

Rice::Exception::Exception ( Object  exc,
char const *  fmt,

Construct a Exception with printf-style formatting.

exceither an exception object or a class that inherits from Exception.
fmta printf-style format string
...the arguments to the format string.

Member Function Documentation

§ message()

String Rice::Exception::message ( ) const

Get the message the exception holds.

the result of calling message() on the underlying exception object.

Referenced by ~Exception().

§ what()

virtual char const* Rice::Exception::what ( ) const
throw (

Get message as a char const *.

If message is a non-string object, then this function will attempt to throw an exception (which it can't do because of the no-throw specification).

the underlying C pointer of the underlying message object.

Implements Rice::Exception_Base.

Referenced by ~Exception().

The documentation for this class was generated from the following file: