为什么我的 python try-except 块不能阻止"Exception has occurred: ValueError"



我是新来的,很抱歉我不知道所有的手续和习惯。

我目前正在开发一个PyQt应用程序,用户可以在其中输入IP地址或序列号(在同一字段中(。因此,我需要知道输入是否为IP地址。

我使用了ipaddress:中的ip_address函数

from ipaddress import ip_address
def isIPValid(ipStr):
"""Checks if ipStr is a valid IP address"""
try:
ip_address(ipStr)
isValid = True
except ValueError:
isValid = False
return isValid

其思想是,如果处理ValueError异常,则ip无效。它在我的项目一开始就非常有效。然而,我真的不知道发生了什么,因为现在我得到了杀死我的应用程序的错误文本:

Exception has occurred: ValueError
'2001-0257-3045' does not appear to be an IPv4 or IPv6 address

因此,基本上,"尝试/排除"模式似乎不再奏效。我不记得在这个函数中做过更改。异常发生在try/except块内。

有什么想法吗?

我从";Python文件";Visual Studio Code 的调试配置

从配置为中断所有异常的调试器运行应用程序

我的示例在Windows PowerShell 上运行良好

相关内容

最新更新