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


Groups > comp.lang.python > #94546

Re: scalar vs array and program control

Path csiph.com!usenet.pasdenom.info!news.redatomik.org!newsfeed.xs4all.nl!newsfeed7.news.xs4all.nl!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail
Return-Path <lac@openend.se>
X-Original-To python-list@python.org
Delivered-To python-list@mail.python.org
X-Spam-Status OK 0.000
X-Spam-Evidence '*H*': 1.00; '*S*': 0.00; 'revision': 0.05; 'chunk': 0.07; 'exception.': 0.07; 'smallest': 0.07; 'thats': 0.07; 'valueerror:': 0.07; 'received:openend.se': 0.09; 'received:theraft.openend.se': 0.09; 'skip:t 60': 0.09; 'ignore': 0.14; 'things.': 0.15; '>try:': 0.16; 'from:addr:lac': 0.16; 'from:addr:openend.se': 0.16; 'from:name:laura creighton': 0.16; 'happily': 0.16; 'message-id:@fido.openend.se': 0.16; 'received:89.233': 0.16; 'received:89.233.217': 0.16; 'received:89.233.217.133': 0.16; 'received:fido': 0.16; 'received:fido.openend.se': 0.16; 'subject:array': 0.16; 'subject:program': 0.16; 'try/except': 0.16; 'laura': 0.18; 'stick': 0.18; 'try:': 0.18; 'cc:2**0': 0.20; 'posted': 0.21; 'work,': 0.21; 'pass': 0.22; 'errors': 0.23; 'forgot': 0.23; 'this:': 0.23; 'cc:addr:gmail.com': 0.24; 'written': 0.24; 'header :In-Reply-To:1': 0.24; 'skip:m 30': 0.27; 'error': 0.27; 'received:se': 0.29; 'code': 0.30; 'mention': 0.30; 'supposed': 0.31; 'run': 0.33; 'except': 0.34; 'running': 0.34; 'skip:c 30': 0.35; 'important.': 0.35; 'quite': 0.35; 'something': 0.35; 'sometimes': 0.35; 'but': 0.36; 'to:addr:python-list': 0.36; 'subject:: ': 0.37; 'expect': 0.37; 'charset:us-ascii': 0.37; 'anything': 0.38; 'whatever': 0.39; 'along': 0.39; 'to:addr:python.org': 0.40; 'your': 0.60; 'header:Message-Id:1': 0.61; 'real': 0.62; 'here.': 0.62; 'for:': 0.64; 'skip:a 40': 0.64; 'skip:w 40': 0.66; 'received:89': 0.80; 'sort.': 0.84
To python-list@python.org
cc Seb <spluque@gmail.com>
From Laura Creighton <lac@openend.se>
Subject Re: scalar vs array and program control
In-Reply-To Message from Laura Creighton <lac@openend.se> of "Sat, 25 Jul 2015 13:01:21 +0200." <201507251101.t6PB1LqE021165@fido.openend.se>
References <87vbd850qa.fsf@gmail.com><201507251101.t6PB1LqE021165@fido.openend.se>
MIME-Version 1.0
Content-Type text/plain; charset="us-ascii"
Content-ID <23477.1437828283.1@fido>
Date Sat, 25 Jul 2015 14:44:43 +0200
X-Greylist Sender IP whitelisted, not delayed by milter-greylist-4.3.9 (theraft.openend.se [89.233.217.130]); Sat, 25 Jul 2015 14:44:45 +0200 (CEST)
X-BeenThere python-list@python.org
X-Mailman-Version 2.1.20+
Precedence list
List-Id General discussion list for the Python programming language <python-list.python.org>
List-Unsubscribe <https://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-list/>
List-Post <mailto:python-list@python.org>
List-Help <mailto:python-list-request@python.org?subject=help>
List-Subscribe <https://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe>
Newsgroups comp.lang.python
Message-ID <mailman.976.1437828297.3674.python-list@python.org> (permalink)
Lines 44
NNTP-Posting-Host 2001:888:2000:d::a6
X-Trace 1437828297 news.xs4all.nl 2954 [2001:888:2000:d::a6]:39706
X-Complaints-To abuse@xs4all.nl
Xref csiph.com comp.lang.python:94546

Show key headers only | View raw


And because I was rushed and posted without revision I left out something
important.

>So this is, quite likely, the pattern that you are looking for:
>
>try:
>	all_your_code_which_is_happy_with_non_scalars
>except WhateverErrorPythonGivesYouWhenYouTryThisWithScalars:
>       whatever_you_want_to_do_when_this_happens
>
>This is the usual way to do things.

I forgot to tell you that you are supposed to stick the try/except
around the smallest chunk of code that you expect to get the exception.

So you write this as

code_you_expect_always_to_work
more_code_you_expect_always_to_work

try:
	these_four_lines_of_code_that_will_be_unhappy_if_its_a_scalar
except ValueError:	# whatever kind of error the real error is
       whatever_you_want_to_do_when_that_happens

The reason is that if you get any Value Errors in the part of the
code you always expect to work, then you don't want your program
to run happily along running the code for 'its a scalar'.  You don't
want to hide real errors here.

The other thing I forgot to mention is that sometimes you don't want to
do anything but ignore any errors of this sort.

Thats written like this:

code_you_expect_always_to_work
more_code_you_expect_always_to_work

try:
	these_four_lines_of_code_that_will_be_unhappy_if_its_a_scalar
except ValueError:
       pass	    # just ignore it

Laura

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


Thread

Re: scalar vs array and program control Laura Creighton <lac@openend.se> - 2015-07-25 14:44 +0200

csiph-web