From e69dbc09618cb3f445e6d936800cea097e6133b7 Mon Sep 17 00:00:00 2001 From: knu Date: Mon, 24 Dec 2018 08:11:49 +0000 Subject: [PATCH] Document the "cause" keyword argument for raise git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- eval.c | 13 +++++++++---- 1 file 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 $! or raises * a RuntimeError if $! 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 ($!) if any. An alternative + * value, either an +Exception+ object or +nil+, can be specified via + * the +:cause+ argument. */ static VALUE