Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #95277

Re: Is this a correct way to generate an exception when getting a wrong parameter

References <87h9o46flw.fsf@Equus.decebal.nl>
Date 2015-08-12 19:25 +1000
Subject Re: Is this a correct way to generate an exception when getting a wrong parameter
From Chris Angelico <rosuav@gmail.com>
Newsgroups comp.lang.python
Message-ID <mailman.104.1439371564.3627.python-list@python.org> (permalink)

Show all headers | View raw


On Wed, Aug 12, 2015 at 7:06 PM, Cecil Westerhof <Cecil@decebal.nl> wrote:
> I have:
> ========================================================================
> accepted_params     = {
>     'pcpu',
>     'rss',
>     'size',
>     'time',
>     'vsize',
> }
> ========================================================================
>
> Later I use:
> ========================================================================
> if (to_check != 'all') and not(to_check in accepted_params):
>     raise Exception('Used illegal parameter: {0}.\n'
>                     'Accepted ones: {1}'
>                     .format(to_check, sorted(accepted_params)))
> ========================================================================
>
> When using 'all' I want to do the work for all accepted parameters.
> ;-)
>
> Is this a correct way to do this, or is there a better way?

There are a couple of things I'd do slightly differently, one of which
is to raise ValueError rather than Exception; but mostly, yes, that
seems reasonable. I'd also use "x not in y" rather than "not (x in
y)", for obvious reasons of clarity. But it kinda depends on what
those params are going to be used for. Maybe you don't need to check
at all - maybe something elsewhere will have a table that maps a
parameter to something else, and absence from that table is a clear
indication that it's an invalid parameter. If at all possible, have a
Single Source Of Truth (SSOT), from which everything else derives.

ChrisA

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Is this a correct way to generate an exception when getting a wrong parameter Cecil Westerhof <Cecil@decebal.nl> - 2015-08-12 11:06 +0200
  Re: Is this a correct way to generate an exception when getting a wrong parameter Chris Angelico <rosuav@gmail.com> - 2015-08-12 19:25 +1000
  Re: Is this a correct way to generate an exception when getting a wrong parameter Peter Otten <__peter__@web.de> - 2015-08-12 11:33 +0200
  Re: Is this a correct way to generate an exception when getting a wrong parameter Mark Lawrence <breamoreboy@yahoo.co.uk> - 2015-08-12 11:43 +0100
    Re: Is this a correct way to generate an exception when getting a wrong parameter Bernd Waterkamp <Bernd-Waterkamp@web.de> - 2015-08-12 18:42 +0200

csiph-web