如何使用相同的Python代码块处理异常和特定条件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用相同的Python代码块处理异常和特定条件相关的知识,希望对你有一定的参考价值。

我想知道是否有任何方法可以让Python执行相同的代码块,如果发生了某些事情或者有错误的话。

例如,我正在编写一个能够在给定字符串中获取冒号后面的字符的函数,如果a)没有冒号或者b)冒号存在但是没有字符跟随它,我希望它做同样的事情。假设给定字符串中最多只有一个冒号。

def split_colon(string):
    try:
        ans = string.split(":")[1].strip()
        return ans
    except IndexError or if ans == "":
        return "Hmm, not a word is found"

显然我在上面的代码中得到了SyntaxError。我怎样才能实现我的目标而不是:

def split_colon(string):
    try:
        ans = string.split(":")[1].strip()
    except IndexError:
        return "Hmm, not a word is found"
    if ans == "":
        return "Hmm, not a word is found"
    else:
        return ans

,会复制相同的代码吗?

答案
string.partition(':')[2]

是要走的路。如果不存在冒号或冒号后面没有字符,则结果字符串将为空。

以上是关于如何使用相同的Python代码块处理异常和特定条件的主要内容,如果未能解决你的问题,请参考以下文章

检查 PL/SQL 异常块中的特定错误代码

Python--异常处理

Python基础学习 -- 异常处理

Python基础学习 -- 异常处理

Python之错误与异常处理

基础C#异常处理的总结