summaryrefslogtreecommitdiff
path: root/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/eval.c b/eval.c
index e0eb5c5280..e43d9804d5 100644
--- a/eval.c
+++ b/eval.c
@@ -706,11 +706,11 @@ extract_raise_opts(int argc, const VALUE *argv, VALUE *opts)
/*
* call-seq:
* raise
- * raise(string)
- * raise(exception [, string [, array]])
+ * raise(string, cause: $!)
+ * raise(exception [, string [, array]], cause: $!)
* fail
- * fail(string)
- * fail(exception [, string [, array]])
+ * fail(string, cause: $!)
+ * fail(exception [, string [, array]], cause: $!)
*
* With no arguments, raises the exception in <code>$!</code> or raises
* a <code>RuntimeError</code> if <code>$!</code> is +nil+.
@@ -725,6 +725,11 @@ extract_raise_opts(int argc, const VALUE *argv, VALUE *opts)
*
* raise "Failed to create socket"
* raise ArgumentError, "No parameters", caller
+ *
+ * The +cause+ of the generated exception is automatically set to the
+ * "current" exception (<code>$!</code>) if any. An alternative
+ * value, either an +Exception+ object or +nil+, can be specified via
+ * the +:cause+ argument.
*/
static VALUE