나는 sqlite 데이터베이스에 연결하는 일부 코드로 작업 중이다. 이 코드를 디버깅하는 과정에서 일부 오류로 인해 닫기 명령이 실행되지 않아 데이터베이스에 대한 연결이 끊어져 문제가 발생합니다. db와 c는 함수 내에서 정의되기 때문에 명령 행에서 해당 객체를 찾아서 닫을 수 없습니다. 그것들은 고아가 된 접속이나 어떤 것과 같지만, 대화 형 콘솔을 닫고 다시 열 때까지 데이터베이스로 다른 것을하지 못하게합니다. 여기처럼 보이는 무엇을 : 나는 "마지막으로"블록의 마지막 결산 작업에 절을 제외/시도를 시도디버깅하는 동안 sqlite db 연결을 닫는 방법은 무엇입니까?
def something()
db=sqlite3.connect('mydatabase')
c=db.cursor()
somecode
lots of different things happening in here
this may have errors
thus stopping execution
db.commit()
c.close()
db.close()
,하지만 디버깅 해요 때 다시 대화 형 출력 제기되는 예외를 방지 , 그리고 물건은 "조용히"실패한다 (아마 나는 그 부품을 올바르게하지 않고있다?). 이 작업을 수행하는 더 좋은 방법이 있습니까?
감사하지만. 이것은 try/finally 접근 방식보다 간단하며 "자동"오류를 만드는 경향이 적습니다. 좋고 깨끗한. 환호 – andy