Python 在try子句中正确释放锁

Python 在try子句中正确释放锁,python,locking,Python,Locking,我有一个释放锁的功能。但是,在此之前,它调用另一个可能发生异常的函数。如何处理此问题,以使锁释放/处理良好?我希望锁能以任何一种方式打开 我有以下信息,但不知道这是否是一种好的做事方式: def a(): try: #code here b() #more code finally: #lock released here return 0 def b(): try: #code

我有一个释放锁的功能。但是,在此之前,它调用另一个可能发生异常的函数。如何处理此问题,以使锁释放/处理良好?我希望锁能以任何一种方式打开

我有以下信息,但不知道这是否是一种好的做事方式:

def a():
    try:
        #code here
        b()
        #more code
    finally:
        #lock released here
    return 0


def b():
    try:
        #code 
        #Exception happens here
        #code
    catch:
        print "sample warning"
        return 0
    return 0   

您的代码没有任何问题。
最后一步总是会完成的,所以你的锁总是会被释放。

好吧,谢谢Jacques,以前从未真正使用过它们,所以我不知道是否有更好的方法。