Эта переменная ниже окончательна, поэтому мы не можем изменить ее значение после инициализации. Если мы попытаемся получить ошибку компиляции ...
final int variable = 123;
Но если мы создадим такую переменную, мы можем изменить ее значение ...
int variable = 123;
variable = 456;
Но в Java 8 все переменные по умолчанию окончательны. Но наличие второй строки в коде делает ее не финальной. Поэтому, если мы удаляем вторую строку из приведенного выше кода, наша переменная теперь «эффективно финальная» ...
int variable = 123;
Итак. Любая переменная, которая назначается один раз и только один раз, является «фактически окончательной ».
Что-то вроде:
connected = False
try:
conn = MySQLdb.connect(host="mysql", user="root", passwd="password"
, db="database")
connected = True
except MySQLError as ex:
print(ex)
if connected:
mycursor = conn.cursor()
query = "INSERT INTO table1(col1,col2,col3)VALUES(%s,%s,%s)"
val = (x,y,z)
mycursor.execute(query, val)
conn.commit()
conn.close()
print("Data inserted to db")
conn = MySQLdb.connect(host="mysql", user="root", passwd="password"
, db="database")
mycursor = conn.cursor()
query = "INSERT INTO table1(col1,col2,col3)VALUES(%s,%s,%s)"
try:
mycursor.execute(query, val)
except MySQLdb.Error, e:
try:
print "MySQL Error [%d]: %s" % (e.args[0], e.args[1])
return None
except IndexError:
print "MySQL Error: %s" % str(e)
return None
except TypeError, e:
print(e)
return None
except ValueError, e:
print(e)
return None
finally:
mycursor.close()
conn.close()