所以我试图在python中使用此异常处理。我为此使用python2.7和flask。我也是python和flask的新手,所以我在这里一定做错了。
if test:
cursor = conn.cursor()
try:
print cursor.execute("INSERT INTO Users (email, password, firstname, lastname, home, gender, dob, bio, profile_Image) VALUES ('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', '{7}', '{8}')".format(email, password, firstname, lastname, home, gender, dob, bio, photo_data))
conn.commit()
#log user in
user = User()
user.id = email
flask_login.login_user(user)
uid = getUserIdFromEmail(flask_login.current_user.id)
today = str(date.today())
print today
except Exception as e:
print e
print "Something Went wrong"
return flask.redirect(flask.url_for('register'))
print cursor.execute("INSERT INTO Album (uid, aname, adate, cover) VALUES ('{0}', 'default', '{1}', '{2}')".format(uid, today, photo_data))
aid = getAIDfromAname('default', uid)
cursor.execute("INSERT INTO Photo (uid, aid, data, caption) VALUES ('{0}', '{1}', '{2}', 'profile')".format(uid,aid,photo_data))
cursor.execute("INSERT INTO Scoreboard (uid) VALUES ('{0}')".format(uid))
conn.commit()
finally:
cursor.close()
return render_template('profile.html', firstname=firstname, message='Account Created!')
else:
print "couldn't find all tokens"
return render_template('register.html', message='Email Already Exists')
然后如果我运行该应用程序就会给我这个错误
File "app.py", line 540
finally:
^SyntaxError: invalid syntax
我想知道为什么它会给我错误:/
答案 0 :(得分:3)
if test:
cursor = conn.cursor()
try:
print cursor.execute("INSERT INTO Users (email, password, firstname,
lastname, home, gender, dob, bio, profile_Image) VALUES ('{0}', '{1}', '{2}',
'{3}', '{4}', '{5}', '{6}', '{7}', '{8}')".format(email, password, firstname,
lastname, home, gender, dob, bio, photo_data))
conn.commit()
#log user in
user = User()
user.id = email
flask_login.login_user(user)
uid = getUserIdFromEmail(flask_login.current_user.id)
today = str(date.today())
print today
except Exception as e:
print e
print "Something Went wrong"
print cursor.execute("INSERT INTO Album (uid, aname, adate, cover) VALUES ('{0}', 'default', '{1}', '{2}')".format(uid, today, photo_data))
aid = getAIDfromAname('default', uid)
cursor.execute("INSERT INTO Photo (uid, aid, data, caption) VALUES ('{0}', '{1}', '{2}', 'profile')".format(uid,aid,photo_data))
cursor.execute("INSERT INTO Scoreboard (uid) VALUES ('{0}')".format(uid))
conn.commit()
return flask.redirect(flask.url_for('register'))
finally:
cursor.close()
return render_template('profile.html', firstname=firstname, message='Account
Created!'))
else:
print "couldn't find all tokens"
return render_template('register.html', message='Email Already Exists'
这可以工作。除了代码块外,“ print cursor.execute”行上的缩进不正确。