On Sat, Jul 14, 2012 at 3:08 AM, Prasad, Ramit
wrote:
> I would say the opposite. In production code usually I want it
> to recover, log as much information as I need (including sending
> any notifications), and NOT just die.
>
> In development, not catching the exception will give me a full
> tra
> > Please do NOT catch BaseException, since that is the wrong thing to do.
>
> I would agree if you had said "in production code".
>
> If you are investigating why a third-party function is stopping your
> interpreter, then catching BaseException may tell you that the code
> is raising the wrong
On 13/07/12 04:16:53, Steven D'Aprano wrote:
> On Thu, 12 Jul 2012 16:37:42 +0100, andrea crotti wrote:
>
>> 2012/7/12 John Gordon :
>>> In andrea crotti
>>> writes:
>>>
Well that's what I thought, but I can't find any explicit exit
anywhere in shutil, so what's going on there?
>>>
>>>
2012/7/13 Steven D'Aprano :
> Well of course it does. If copytree fails, the try block ends and
> execution skips straight to the except block, which runs, and then the
> program halts because there's nothing else to be done.
>
> That at least is my guess, based on the described symptoms.
>
Well
On Thu, 12 Jul 2012 14:20:18 +0100, andrea crotti wrote:
> One thing that I don't quite understand is why some calls even if I
> catch the exception still makes the whole program quit.
Without seeing your whole program, we can't possibly answer this. But by
consulting my crystal ball, I bet you
On Thu, 12 Jul 2012 16:37:42 +0100, andrea crotti wrote:
> 2012/7/12 John Gordon :
>> In andrea crotti
>> writes:
>>
>>> Well that's what I thought, but I can't find any explicit exit
>>> anywhere in shutil, so what's going on there?
>>
>> Try catching SystemExit specifically (it doesn't inherit
On Thu, 12 Jul 2012 15:17:03 +0100, andrea crotti wrote:
> Well that's what I thought, but I can't find any explicit exit anywhere
> in shutil, so what's going on there?
Hard to say, since you don't give any context to your question.
When replying to posts, please leave enough quoted to establis
andrea crotti wrote at 2012-7-12 14:20 +0100:
>One thing that I don't quite understand is why some calls even if I
>catch the exception still makes the whole program quit.
>For example this
>
>try:
>copytree('sjkdf', 'dsflkj')
>Popen(['notfouhd'], shell=True)
>except Excepti
2012/7/12 John Gordon :
> In andrea crotti
> writes:
>
>> Well that's what I thought, but I can't find any explicit exit
>> anywhere in shutil, so what's going on there?
>
> Try catching SystemExit specifically (it doesn't inherit from Exception,
> so "except Exception" won't catch it.)
>
> --
In andrea crotti
writes:
> Well that's what I thought, but I can't find any explicit exit
> anywhere in shutil, so what's going on there?
Try catching SystemExit specifically (it doesn't inherit from Exception,
so "except Exception" won't catch it.)
--
John Gordon A is for
Well that's what I thought, but I can't find any explicit exit
anywhere in shutil, so what's going on there?
--
http://mail.python.org/mailman/listinfo/python-list
In andrea crotti
writes:
> try:
> copytree('sjkdf', 'dsflkj')
> Popen(['notfouhd'], shell=True)
> except Exception as e:
> print("here")
> behaves differently from:
> try:
> Popen(['notfouhd'], shell=True)
> copytree('sjkdf', 'dsflkj')
>
One way instead that might actually work is this
def default_mock_action(func_name):
def _default_mock_action(*args, **kwargs):
print("running {} with args {} and {}".format(func_name, args, kwargs))
return _default_mock_action
def mock_fs_actions(to_run):
"""Take a function
One thing that I don't quite understand is why some calls even if I
catch the exception still makes the whole program quit.
For example this
try:
copytree('sjkdf', 'dsflkj')
Popen(['notfouhd'], shell=True)
except Exception as e:
print("here")
behaves differently f
2012/7/5 Dieter Maurer :
>
> There is a paradigm called "inversion of control" which can be used
> to handle those requirements.
>
> With "inversion of control", the components interact on the bases
> of interfaces. The components themselves do not know each other, they
> know only the interfaces t
andrea crotti writes:
> I'm writing a program which has to interact with many external
> resources, at least:
> - mysql database
> - perforce
> - shared mounts
> - files on disk
>
> And the logic is quite complex, because there are many possible paths to
> follow depending on some other parameter
andrea crotti writes:
> copytree(src, dest) becomes:
> if not PRETEND_ONLY:
> copytree(src, dest)
>
> But I don't like it too much because I would have to add a lot of
> garbage around..
I've had good results writing the module under test in the style of a
java applet, i.e. one of its args is
For what it's worth, this is the reason that Allen Short wrote Exocet.
> This way, you can test your code without having to resort to sys.modules
> hackery, and you can better factor your applications by separating
> configuration and environment concerns from the rest of your code.
See:
- http:
On 12-07-04 05:42 AM, andrea crotti wrote:
...
copytree(src, dest) becomes:
if not PRETEND_ONLY:
copytree(src, dest)
import globalsub, unittest
class MyTest( unittest.TestCase ):
def setUp( self ):
globalsub.subs( shutil.copytree )
def tearDown( self ):
globalsub.re
> Yes there is no easy solution apparently.. But I'm also playing
> around with vagrant and virtual machine generations, suppose I'm able
> to really control what will be on the machine at time X, creating it
> on demand with what I need, it might be a good way to solve my
> problems (a bit overki
2012/7/4 Steven D'Aprano :
>
> Then, have your code accept the thing as an argument.
>
> E.g. instead of having a hard-coded database connection, allow the
> database connection to be set (perhaps as an argument, perhaps as a
> config option, etc.).
>
> There are libraries to help with mocks, e.g.:
On Wed, 04 Jul 2012 10:42:56 +0100, andrea crotti wrote:
> I'm writing a program which has to interact with many external
> resources, at least:
> - mysql database
> - perforce
> - shared mounts
> - files on disk
>
> And the logic is quite complex, because there are many possible paths to
> follo
I'm writing a program which has to interact with many external
resources, at least:
- mysql database
- perforce
- shared mounts
- files on disk
And the logic is quite complex, because there are many possible paths to
follow depending on some other parameters.
This program even needs to run on many
23 matches
Mail list logo