第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

Python嘗試-否則

Python嘗試-否則

慕尼黑8549860 2019-07-22 10:32:18
Python嘗試-否則選項(xiàng)的預(yù)期用途是什么?else的條款try口供?
查看完整描述

3 回答

?
尚方寶劍之說

TA貢獻(xiàn)1788條經(jīng)驗(yàn) 獲得超4個(gè)贊

的聲明else如果執(zhí)行從try-如果沒有例外的話。老實(shí)說,我從來沒有發(fā)現(xiàn)需要。

然而,處理異常注:

使用ASER子句比向try子句添加額外代碼更好,因?yàn)樗苊庖馔獠东@未被try保護(hù)的代碼引發(fā)的異常.除了陳述。

因此,如果您有一個(gè)方法,例如,可以拋出IOError,您希望捕獲它引發(fā)的異常,但是如果第一個(gè)操作成功了,您還需要做一些其他的事情,而您要從該操作中捕獲ioError,可以編寫如下內(nèi)容:

try:
????operation_that_can_throw_ioerror()except?IOError:
????handle_the_exception_somehow()else:
????#?we?don't?want?to?catch?the?IOError?if?it's?raised
????another_operation_that_can_throw_ioerror()finally:
????something_we_always_need_to_do()

如果你把another_operation_that_can_throw_ioerror()operation_that_can_throw_ioerror,except會發(fā)現(xiàn)第二個(gè)電話的錯(cuò)誤。如果你把它放在try塊,它將始終運(yùn)行,直到finally..這個(gè)else讓你確保

  1. 第二個(gè)操作只有在沒有例外的情況下才能運(yùn)行,
  2. 它會在

    finally

    布洛克
  3. 任何

    IOError

    它不會在這里被抓到


查看完整回答
反對 回復(fù) 2019-07-22
?
森欄

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超5個(gè)贊

有一個(gè)大的使用理由else-風(fēng)格和可讀性。通常,將可能導(dǎo)致異常的代碼保存在處理它們的代碼附近是一個(gè)好主意。例如,比較以下幾個(gè)方面:

try:
????from?EasyDialogs?import?AskPassword
????#?20?other?lines
????getpass?=?AskPasswordexcept?ImportError:
????getpass?=?default_getpass

try:
????from?EasyDialogs?import?AskPasswordexcept?ImportError:
????getpass?=?default_getpasselse:
????#?20?other?lines
????getpass?=?AskPassword

第二個(gè)是好的,當(dāng)except不能提前返回,或者重新拋出異常。如果可能的話,我會寫:

try:
????from?EasyDialogs?import?AskPasswordexcept?ImportError:
????getpass?=?default_getpass????return?False??#?or?throw?Exception('something?more?descriptive')#?20?other?linesgetpass?=?AskPassword


查看完整回答
反對 回復(fù) 2019-07-22
  • 3 回答
  • 0 關(guān)注
  • 709 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號