# 1 通常异常
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException, TimeoutException, ElementClickInterceptedException, ElementNotVisibleException
driver = webdriver.Chrome()
try:
# 尝试执行的代码
pass
except NoSuchElementException:
# 针对错误类型1,对应的代码处理
pass
except TimeoutException:
# 针对错误类型2,对应的代码处理
pass
except(ElementClickInterceptedException, ElementNotVisibleException):
# 针对错误类型3和4,对应的代码处理
pass
except Exception as e:
# 打印错误信息
print(e)
else:
# 如果try块中没有异常,对应的代码处理
pass
finally:
# 无论是否出现异常,都会执行的代码
print('无论是否有异常,都会执行的代码')
# 2 抛出异常:使用 raise 关键字来抛出异常
def divide(a, b):
if b == 0:
raise Exception("除数不能为零")
return a / b
try:
divide(3, 0)
except Exception as e:
print(e)
# 3 自定义异常类: 自定义异常类需要继承自 Exception 类。
class CustomError(Exception):
def __init__(self, msg):
self.msg = msg
def __str__(self):
return self.msg
def add(a, b):
if a < 0 or b < 0:
raise CustomError("自定义的异常")
return a + b
'''
参考:
【python】异常处理
https://blog.csdn.net/w3360701048/article/details/137504337
2024年Python最全python异常(概念、捕获、传递、抛出)_异常python(2)
https://blog.csdn.net/2401_84584796/article/details/138355865
Python异常处理:三种不同方法的探索与最佳实践
https://blog.csdn.net/weixin_45081575/article/details/134356343
Selenium异常集锦
https://www.cnblogs.com/FunTester/p/13844892.html
'''