python 中 try except 帶有return的用法


def exe_try():
    try:
        print('code running')
        raise KeyError
    except KeyError as ex:
        print('key error')
        return 2
    else:
        print('other error')
        return 3
    finally:
        print('finally')
        return 4

if __name__ == "__main__":
    ret = exe_try()
    print(ret)

程序的運行結果為:

code running
key error
finally
4

最后返回值是4,這是因為(1)try finally語句一定會執行finally中的語句,(2)return並不會真正的返回,而是將return語句的表達式執行后,再存到一個臨時棧當中,

當執行finally表達式中的語句時,會將4壓入到棧中,所以最后的返回值是4.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM