0
Учитывая следующий код Python:Как обрабатывать исключение в блоке «finally»?
# Use impyla package to access Impala
from impala.dbapi import connect
import logging
def process():
conn = connect(host=host, port=port) # Mocking host and port
try:
cursor = conn.cursor()
# Execute query and fetch result
except:
loggin.error("Task failed with some exception")
finally:
cursor.close() # Exception here!
conn.close()
был создан Подключение к Impala. Но было исключение в cursor.close()
из-за таймаута Impala.
Что такое правильный способ закрыть cursor
и conn
с учетом скрытого исключения?
Подведите 'подключ = подключения (host = host, port = port) ', чтобы попробовать блок. Исключение возникает из-за того, что его исключение из блока try – Tanu
Поместите 'cursor.close()' в блок try, вы должны поместить эти вещи в блок finally, которые обязательно не вызовут никакого исключения. – ZdaR
Исключение может быть сгенерировано, потому что 'conn 'никогда не был установлен. Попробуйте снова поместить эту строку в блок 'try'. –