[Tutor] capturing error msg in exception

Steven D'Aprano steve at pearwood.info
Mon Jun 28 01:27:45 CEST 2010


On Mon, 28 Jun 2010 03:12:39 am Adam Bark wrote:

> I think the 'as' syntax is only available in Python 3.x

You think wrong. It is available from Python 2.6 onwards.


> Question marks go at the end of the sentence where you would normally
> put a full stop if it wasn't a question.

That's a terribly unhelpful answer given the context of Payal's 
question. I'm sure he knows the grammatical rules for questions in 
ordinary English sentences, but he's asking specifically about a 
particular form of sentence where you have a question consisting of two 
or more alternatives or examples separated as paragraphs:

[example]
Hello, which is better, a lambda:

(1) lambda x: x+1

or a function definition:

(2) def f(x):
        return x+1?
[end example]

It is very reasonable to ask where to put the question mark in examples 
like this. Unfortunately there is no good answer. If you put it on the 
same line as the second example, as shown, certainly isn't correct 
because it makes the question mark part of the example. It's 
*especially* dangerous in a programming context, because it leads to a 
syntax error.

Putting it on a line on it's own after the example looks silly. 
Re-writing the question to avoid the problem is often awkward, but can 
be done:

[rewritten example]
Hello, which of these two are better?

(1) lambda x: x+1

(2) def f(x):
        return x+1
[end rewritten example]

Since there is no One Right Answer, you can do whichever seems best in 
context.


-- 
Steven D'Aprano


More information about the Tutor mailing list