如果是Try语句

时间:2016-03-11 13:11:37

标签: python-3.x if-statement error-handling

在我的脚本中,我想清理我的错误处理。我读到的是我需要:

try:
    do something
exept:
   raise Error("give error")
finaly:
    print("something else")

我遇到的问题是我不知道如何在我以前的书面功能中以这种方式处理错误。
如何创建具有多个条件的try语句,如下面的简单示例。

def varlist(var, length):
    from numpy import array
    if len(array(var)) > length:
        return(False)
        raise ValueError('list is to long only first ' + str(length) + ' paramerets will be used')
    elif len(array(var)) < length:
        return(False)
        raise ValueError('list is to short ' + str(length) + ' is less than required')
    else:
        return(True)

所以一般来说我的问题是:如何处理具有多个输出的if / try语句都是基于它们的值.... 在这种情况下,我有两个输出,但我有其他更多的值(有时是字符串)

1 个答案:

答案 0 :(得分:0)

我不太明白你的问题,但这是一个使用try语句的代码:

      def varlist(var, length):
         from numpy import array
         try:
             return True
         except len(array(var)) > length :
             return False
             raise ValueError('#Your Error message 1')
         except len(array(var)) < length :
             return False
             raise ValueError('#Your Error message 2')

如果你的意思是如何返回多个值,只需将它们'打包'在这样的元组中:

    returntuple = ('statement1', 'statement2', etc)
    return returntuple

然后你可以像这样'解包':

returntuple [1]

将返回'statement2'

像这样你可以返回多个值。你需要欺骗python,因为它不提供返回多个值(据我所知!)。但是,如果你把你的价值观包装成一个元组或一个听众,那就没事了!

如果这两个答案没有得到你的问题,我很抱歉我只是没有得到问题。

此致,heureka