我是Python新手,我尝试创建一个简单的循环,以便列出具有值整数的userID的用户。然而,DB上的userID似乎很奇怪(用户1-72已经正确显示,旁边72已经是712 ),所以我需要跳过那些没有任何userID 73-711的用户。什么异常必须做,或者我需要创建一个简单的,如果其他?
for iD in range(1, 720):
loginID = iD
for users in tls.getUserByID(loginID):
fname = users.get('firstName')
lname = users.get('lastName')
print(loginID, fname +" "+ lname)
我所犯的错误是..。
raise testlinkerrors.TLResponseError(
testlink.testlinkerrors.TLResponseError: NO_USER_BY_ID_LOGIN: (getUserByID) - Cannot Find User with DB ID (73)
发布于 2022-06-15 17:59:54
你可以试试这个@ckmb
for iD in range(60, 720):
if iD not in [* range(73, 712)]:
loginID = iD
try:
api_getUser = tls.getUserByID(loginID)
for user in api_getUser:
fname = user.get('firstName')
lname = user.get('lastName')
print(loginID, fname + " " + lname)
except testlinkerrors.TLResponseError:
print(loginID, "not found")
continue
发布于 2022-06-15 02:33:18
如果没有具有DB的用户,则调用tls.getUserByID(loginID)
时将得到异常,因此需要通过try/except
语句处理异常testlinkerrors.TLResponseError
。
from testlink.testlinkerrors import TLResponseError
for iD in range(1, 720):
loginID = iD
try:
users = tls.getUserByID(loginID)
except TLResponseError:
print(loginID, "not found !")
continue
for user in users:
fname = user.get('firstName')
lname = user.get('lastName')
print(loginID, fname +" "+ lname)
发布于 2022-06-15 02:14:12
您可以使用一个简单的try/ can块跳过失败。
for iD in range(1, 720):
loginID = iD
try:
for users in tls.getUserByID(loginID):
fname = users.get('firstName')
lname = users.get('lastName')
print(loginID, fname +" "+ lname)
except testlinkerrors.TLResponseError:
print("Skipping iD")
continue
https://stackoverflow.com/questions/72625203
复制相似问题