久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

請教python編碼風(fēng)格和異常處理問題

瀏覽:195日期:2022-08-24 17:06:57

問題描述

請教各位個問題,編寫web應(yīng)用注冊模塊,如下面這段代碼,服務(wù)端需要檢測用戶的傳遞的參數(shù)。下面幾種寫法哪個更好,異常處理方式是否正確,或者各位是否有更好的方式呢

def check_args(account, passwd, birthday, name): # 第一種寫法 if account == ’’ or not isinstance(account, str):raise ValueError if passwd == ’’ or not isinstance(passwd, str):raise ValueError if birthday == ’’ or not isinstance(birthday, str):raise ValueError if name == ’’ or not isinstance(name, str):raise ValueError # 第二種寫法 if (account == ’’ or not isinstance(account, str)) or (passwd == ’’ or not isinstance(passwd, str)) or (birthday == ’’ or not isinstance(birthday, str)) or (name == ’’ or not isinstance(name, str)):raise ValueError return Nonedef user_register(form): account = form['account'] passwd = form['passwd'] birthday = form['birthday'] name = form['name'] # 異常放在這一層,但在main函數(shù)調(diào)用 user_register 如何檢測是否成功呢 # 是當(dāng)前異常繼續(xù)向外拋,還是通過返回值 try:check_args(account, passwd, birthday, name)insertUserInfo(account, passwd, birthday, name) except ValueError:pass except MySQLError:pass except Exception:pass

問題解答

回答1:

既然是web應(yīng)用,你應(yīng)該把這些驗(yàn)證抽象出來,自己寫驗(yàn)證模塊或者用別人的驗(yàn)證模塊

回答2:

為什么不樸素的返回一個True or False呢,異常一般是指程序出現(xiàn)了錯誤,但注冊信息不合法并不帶表程序出了錯,所以用條件判斷返回真假值就可以了。另外一般來說表單的合法判斷在前端處理比較好。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 新建县| 邻水| 三穗县| 玉屏| 浦县| 来凤县| 瓮安县| 开平市| 油尖旺区| 紫云| 黄平县| 松阳县| 峡江县| 甘泉县| 三江| 北票市| 湄潭县| 囊谦县| 临颍县| 长治县| 河间市| 青川县| 普洱| 渭源县| 治县。| 儋州市| 蕲春县| 怀集县| 宁明县| 景宁| 东乌| 康乐县| 筠连县| 黄平县| 常熟市| 大同市| 社旗县| 运城市| 福泉市| 五大连池市| 新干县|