|
|
|
|
|
by ptsneves
427 days ago
|
|
It is a tragedy that python almost got some form or RAII but then figured out an object has 2 stages of usage. I also strongly disagree constructors cannot fail. An object that is not usable should fail fast and stop code flow the earliest possible. Fail early is a good thing. |
|
What you should do is the fallible operation outside the constructor, before you call __init__, then ask for the opened file, socket, lock, what-have-you as an argument to the constructor.
Fallible initialisation operations belong in factory functions.