Handling 3 operands in an expression without raising an exception
Dave Angel
davea at davea.name
Thu Sep 26 18:55:41 EDT 2013
On 26/9/2013 18:14, Νίκος wrote:
> Στις 26/9/2013 11:16 μμ, ο/η Denis McMahon έγραψε:
>> On Thu, 26 Sep 2013 19:58:02 +0300, Νίκος wrote:
>>
>>> except socket.gaierror as e:
>>> city = host = "UnKnown Origin"
>>>
>>> But then what if in case of an error i needed different string set to be
>>> assigned on city and host respectively?
>>
>> Oh FFS
>>
>> Are you serious when you ask this?
>>
>> Simply change:
>>
>> except socket.gaierror as e:
>> city = host = "UnKnown Origin"
>>
>> To:
>>
>> except socket.gaierror as e:
>> city = "Unknown City"
>> host = "Unknown Host"
>
> Yes indeed that was an idiotic question made by me, but i was somehow
> feeling again that i should handle it in one-liner, avoid wanting to use
> 2 statements.
newlines are still cheap. And they can really help readability.
> I wonder if there is a way to assign the string "Unknown Origin" to the
> variable that failed in the try block to get a value.
>
> Can i describe that somehow inside the except block?
>
> I mean like:
>
> except socket.gaierror as e:
> what_ever_var_failed = "Unknown Origin"
Simply assign the default values BEFORE the try block, and use pass as
the except block.
That still doesn't get around the inadvisability of putting those 3
lines in the try block.
You still haven't dealt with the gt assignment and its possible
exception.
--
DaveA
More information about the Python-list
mailing list