[英]Exception while printing inside a try block
我试图在try块内打印用户ID(整数类型)和名称(varchar类型)。 在输入有关UID和名称的详细信息之后,尝试打印输入的值时,会碰到except块。 如果我从try块中删除了打印语句。 它工作正常。 请提示。
import mysql.connector
import sys
con = mysql.connector.connect(user='root',password='dream',host='localhost',port='3306',database='arvind')
cursor = con.cursor()
try:
cursor.execute("create table USER_INFO(U_ID bigint,name varchar(20))")
except:
print("table already created\n")
#cursor.close()
#con.close()
#sys.exit();
print("table created successfully :)\n")
#cursor.close()
#con.close()
ch = input("Do you want to inseret data ??? (y/n)")
if ch=='y':
while 1:
try:
num = int(input("Enter UID : "))
#print("num entered ",num)
name = input("Enter U_name : ")
#print("name entered ",name)
print("UID : ",UID,"\nname: ",name)
except:
print("Enter user ID for UID and name for U_name")
continue;
cursor.execute("""INSERT INTO USER_INFO values (%s,%s)""",(num,name))
con.commit()
print("Data inserted in the table")
c = input("Enter 'n' top exit")
print("c : ",c)
if(c == 'n'):
sys.exit();
else:
print("NO")
该代码正在尝试访问未定义的变量UID
:
print("UID : ",UID,"\nname: ",name)
^^^
代码定义的实际变量是num
:
num = int(input("Enter UID : "))
根据需要将UID
更改为num
或num
更改为UID
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.