[DOC] Improve Errno and SystemCallError.new
This commit is contained in:
parent
0da2b12741
commit
022ab41374
Notes:
git
2025-01-31 12:30:24 +00:00
32
error.c
32
error.c
@ -2981,7 +2981,7 @@ syntax_error_with_path(VALUE exc, VALUE path, VALUE *mesg, rb_encoding *enc)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Document-module: Errno
|
* Document-module: Errno
|
||||||
|
*
|
||||||
* When an operating system encounters an error,
|
* When an operating system encounters an error,
|
||||||
* it typically reports the error as an integer error code:
|
* it typically reports the error as an integer error code:
|
||||||
*
|
*
|
||||||
@ -3022,6 +3022,13 @@ syntax_error_with_path(VALUE exc, VALUE path, VALUE *mesg, rb_encoding *enc)
|
|||||||
* Errno::ENOENT::Errno # => 2
|
* Errno::ENOENT::Errno # => 2
|
||||||
* Errno::ENOTCAPABLE::Errno # => 0
|
* Errno::ENOTCAPABLE::Errno # => 0
|
||||||
*
|
*
|
||||||
|
* Each class in Errno can be created with optional messages:
|
||||||
|
*
|
||||||
|
* Errno::EPIPE.new # => #<Errno::EPIPE: Broken pipe>
|
||||||
|
* Errno::EPIPE.new("foo") # => #<Errno::EPIPE: Broken pipe - foo>
|
||||||
|
* Errno::EPIPE.new("foo", "here") # => #<Errno::EPIPE: Broken pipe @ here - foo>
|
||||||
|
*
|
||||||
|
* See SystemCallError.new.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static st_table *syserr_tbl;
|
static st_table *syserr_tbl;
|
||||||
@ -3092,12 +3099,33 @@ get_syserr(int n)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* SystemCallError.new(msg, errno) -> system_call_error_subclass
|
* SystemCallError.new(msg, errno = nil, func = nil) -> system_call_error_subclass
|
||||||
*
|
*
|
||||||
* If _errno_ corresponds to a known system error code, constructs the
|
* If _errno_ corresponds to a known system error code, constructs the
|
||||||
* appropriate Errno class for that error, otherwise constructs a
|
* appropriate Errno class for that error, otherwise constructs a
|
||||||
* generic SystemCallError object. The error number is subsequently
|
* generic SystemCallError object. The error number is subsequently
|
||||||
* available via the #errno method.
|
* available via the #errno method.
|
||||||
|
*
|
||||||
|
* If only numeric object is given, it is treated as an Integer _errno_,
|
||||||
|
* and _msg_ is omitted, otherwise the first argument _msg_ is used as
|
||||||
|
* the additional error message.
|
||||||
|
*
|
||||||
|
* SystemCallError.new(Errno::EPIPE::Errno)
|
||||||
|
* #=> #<Errno::EPIPE: Broken pipe>
|
||||||
|
*
|
||||||
|
* SystemCallError.new("foo")
|
||||||
|
* #=> #<SystemCallError: unknown error - foo>
|
||||||
|
*
|
||||||
|
* SystemCallError.new("foo", Errno::EPIPE::Errno)
|
||||||
|
* #=> #<Errno::EPIPE: Broken pipe - foo>
|
||||||
|
*
|
||||||
|
* If _func_ is not +nil+, it is appended to the message with "<tt> @ </tt>".
|
||||||
|
*
|
||||||
|
* SystemCallError.new("foo", Errno::EPIPE::Errno, "here")
|
||||||
|
* #=> #<Errno::EPIPE: Broken pipe @ here - foo>
|
||||||
|
*
|
||||||
|
* A subclass of SystemCallError can also be instantiated via the
|
||||||
|
* +new+ method of the subclass. See Errno.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static VALUE
|
static VALUE
|
||||||
|
Loading…
x
Reference in New Issue
Block a user