On Thu, Aug 02, 2018 at 12:19:41PM -0700, Marc Tompkins wrote:
> What you want in that case is an assertion:
>
> try:
> assert type(uvc)==float
> except AssertionError as e:
> print(e, msg)
>
> An assertion says "The following statement is True. If it isn't, I'm going
> to throw an exce
On 02/08/18 15:29, Shall, Sydney wrote:
> uvc = 2
> msg = "Bad argument provided, the value of uvc must be a float."
>
> try:
> type(uvc) == float
> except TypeError as e:
> print(e, msg)
The try block contains an expression that will always evaluate
to True or False and thus never rai
try... except is meant to catch errors: places where your program would
otherwise crash. It does NOT work as a truth check.
In your example:
> try:
> type(uvc) == float
> except TypeError as e:
> print(e, msg)
>
> "type(uvc)==float" resolves to a standalone True or False, not an
exception
On 2 August 2018 at 15:29, Shall, Sydney wrote:
>
> try:
> type(uvc) == float
> except TypeError as e:
> print(e, msg)
Let's try this interactively:
>>> uvc = 2
>>> type(uvc)
>>> type(uvc) == float
False
So calling type(uvc) doesn't raise an error. It returns the type
"int". You then c