[prev in list] [next in list] [prev in thread] [next in thread] 

List:       ruby-core
Subject:    [ruby-core:91364] [Ruby trunk Bug#15576] Wrong error message from some class methods of `Dir`
From:       nobu () ruby-lang ! org
Date:       2019-01-31 13:09:13
Message-ID: redmine.journal-76617.20190131130911.11339b5c0db8307e () ruby-lang ! org
[Download RAW message or body]

Issue #15576 has been updated by nobu (Nobuyoshi Nakada).


I'm not sure this difference between `IO` and `Dir` is intentional.

----------------------------------------
Bug #15576: Wrong error message from some class methods of `Dir`
https://bugs.ruby-lang.org/issues/15576#change-76617

* Author: takaram (Takuya Aramaki)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-linux]
* Backport: 2.4: UNKNOWN, 2.5: UNKNOWN, 2.6: UNKNOWN
----------------------------------------
When a error is raised in some class methods of `Dir`, the backtrace is as if the user called `Dir.open`.

```
$ ruby -e 'Dir.foreach {}'
Traceback (most recent call last):
	2: from -e:1:in `<main>'
	1: from -e:1:in `foreach'
-e:1:in `open': wrong number of arguments (given 0, expected 1) (ArgumentError)
$ ruby -e 'Dir.foreach(nil)'
Traceback (most recent call last):
	2: from -e:1:in `<main>'
	1: from -e:1:in `foreach'
-e:1:in `open': no implicit conversion of nil into String (TypeError)
$ ruby -e 'Dir.foreach("not_exist")'
Traceback (most recent call last):
	2: from -e:1:in `<main>'
	1: from -e:1:in `foreach'
-e:1:in `open': No such file or directory @ dir_initialize - not_exist (Errno::ENOENT)
```

The last line of the error message should be ``-e:1:in `foreach': ...`` like `IO.foreach`

This occurs in following methods:
* `Dir.foreach`
* `Dir.entries`
* `Dir.each_child`
* `Dir.children`



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic