Python、类型检查和异常

Python、类型检查和异常,python,exception,types,Python,Exception,Types,我必须检查某个变量的内容是否属于某种特定类型(这是我想要实现的健全性检查)。如果其中每一个都不是指定的类型,则程序必须中止 我没有python方面的经验,我浏览了一下web上的官方指南,其中指出可以通过类实现定义自己的异常。我不知道这是否困难,但既然我不必做一些特别复杂的事情,有没有可能用一种简单的方式来做呢 更新 我以以下方式实现了异常int异常: class TypeCheckingException(Exception): def __init__(self,type_in,typ

我必须检查某个变量的内容是否属于某种特定类型(这是我想要实现的健全性检查)。如果其中每一个都不是指定的类型,则程序必须中止

我没有python方面的经验,我浏览了一下web上的官方指南,其中指出可以通过类实现定义自己的异常。我不知道这是否困难,但既然我不必做一些特别复杂的事情,有没有可能用一种简单的方式来做呢

更新

我以以下方式实现了异常int异常:

class TypeCheckingException(Exception):
    def __init__(self,type_in,type_exp):
        self.type_in = type_in
        self.type_exp = type_exp
具体的实施路线及其使用如下:

try:
        if isinstance(var1,str) == 0:
            raise TypeCheckingException(type(var1),str)
        if isinstance(var2,str) == 0:
            raise TypeCheckingException(type(var2),str)
        if isinstance(var3,int) == 0:
            raise TypeCheckingException(type(var3),int)
        if isinstance(var4,int) == 0:
            raise TypeCheckingException(type(var4),int)
        if isinstance(var5,str) == 0:
            raise TypeCheckingException(type(var5),str)
        if isinstance(var6,float) == 0:
            raise TypeCheckingException(type(var6),float)
    except TypeCheckingException, tce:
        print "Type expected input " + str(tce.type_in) + " while type expected is " + str(tce.type_exp) +  "."
在这种情况下可以工作,但错误输出非常详细。。。我想把它缩短一点

有什么线索吗?

您想使用isinstance(变量,类型)


您不需要对此路由使用异常处理。您可以检查实例类型,然后根据需要退出。

类MyOwnException(Exception):pass
–这是一个自定义异常的实现。你现在可以提高这个。这就是你所困惑的吗?你到底有什么问题?问题的可能重复之处在于,我有一组变量,由内部计算得出(因此我不将它们作为参数传递),因为程序非常大,我想在计算结束时检查它们,以确保它们是EXPECTED类型。如果这样的变量不是预期的类型,程序必须中止(可能有一个异常指出问题所在)<代码>如果不存在(foo,bar):引发MyOwnException()。。。!?再说一次,你的实际问题是什么?我需要一个明确的例子来说明这种异常的实现。
>>> a = 'str'
>>> isinstance(a, str)
True