Raising FireError in __init__ is not handled properly
Open
- Dominant language
- Python
- Stars
- 28.2k
- Forks
- 1.5k
- PR merge metrics
- No merged PRs in 30d
Description
In version 0.3.1 when user attempts to raise error in the `__init__` method the effective error that gets printed is about missing `self` argument. Minimal example:
```
import fire
from fire.core import FireError
class Calc:
def __init__(self):
raise FireError('foo')
def add(self):
pass
if __name__ == "__main__":
fire.Fire(Calc)
```
```
python calc.py add
ERROR: The function received no value for the required argument: self
```
When executed interactively, the error is correct:
```
>>>import calc; import fire
>>>fire.Fire(calc.Calc)
ERROR: foo
```
Contributor guide
Assessment
This issue has not been assessed yet.