這是一個在postresql中與數據庫交互的應用程序中的登錄函數。我是python的新手,目前在except塊中的兩個打印語句正在執行。 錯誤出現在:cur.execute(mtype,(member_id,))關於爲什麼讚賞的任何想法。python數據庫應用程序嘗試除塊
def check_login(member_id, password):
conn = database_connect()
if(conn is None):
return None
cur = conn.cursor()
try:
mtype = """SELECT 'athlete' FROM athlete
WHERE member_id=%s
UNION
SELECT 'official' FROM official
WHERE member_id=%s
UNION
SELECT 'staff' FROM staff
WHERE member_id=%s"""
cur.execute(mtype, (member_id,))
user_type = cur.fetchone()
except:
print("Error retrieving member type")
try:
sql = """SELECT member_id, title, given_names AS first_name, family_name, country_name, place_name AS residence
FROM public.country JOIN public.member USING (country_code) JOIN public.place ON (accommodation = place_id)
WHERE member_id=%s AND pass_word=%s"""
cur.execute(sql, (member_id, password))
user_data = cur.fetchone()
tuples = {
'member_id': user_data[0],
'title': user_data[1],
'first_name': user_data[2],
'family_name': user_data[3],
'country_name': user_data[4],
'residence': user_data[5],
'member_type': user_type[0]
}
cur.close()
conn.close()
return tuples
except:
print("Error Invalid Login")
cur.close()
conn.close()
return None
您正在捕獲所有異常並詢問爲什麼拋出異常而未顯示異常。 – DeepSpace
不要發現異常併發布它。 –
您是否想知道爲什麼例外首先被擊中?或者你想知道爲什麼例外會被打到? – Luke101