日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基础才是重中之重~开发人员应用学会用throw

發布時間:2025/3/8 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基础才是重中之重~开发人员应用学会用throw 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

回到目錄

無論是.net還是java,在開發程序時都難免會用到throw關鍵字,對于初學者一般會認為它與try...catch捆綁在一起,這當然是錯誤的,事實上,throw的一個最重要的作用就是:

讓程序告訴用戶一些事情,這些事情一般是開發人員之前定義好的,如對于一個輸入文本框,你需要輸入給定數字,但如果輸入的不是給定的數據范圍,則可以通過throw告訴用戶!

讓程序告訴開發人員一些事情,這些事情一般是底層開發人員之前定義好的,如果一些業務規范,如果開發人員輸入的不合法,程序就會拋出一個異常,以告訴表層開發人員!

下面是一個程序中的throw用法:

if (vp.ContainsKey("flag")){int flagValue;int.TryParse(vp["flag"].ToString(), out flagValue);switch (flagValue){case 0:linq = linq.Where(i => i.EndTime > DateTime.Now);break;case 1:linq = linq.Where(i => i.EndTime <= DateTime.Now);break;case 2://...break;default:throw new ArgumentException("參數不正確");}}

上面的代碼,由前臺用戶傳入一個參數,這邊于程序處理,這里不考慮擴展,所以使用了switch塊(對于業務多變的情況下,我們可以使用策略模式,工廠模式去代替switch這個代碼壞味道),當你輸入的參數不到給定的case條件時,就會向上拋出異常,以告訴用戶!當然默認情況下會以黃屏的樣子出現,我們運營的系統,當然會做一些處理。

.net mvc為我們提供的實例項目,是這樣使用throw關鍵字的,看代碼:

public bool ValidateUser(string userName, string password){if (String.IsNullOrEmpty(userName)) throw new ArgumentException("值不能為 null 或為空。", "userName");if (String.IsNullOrEmpty(password)) throw new ArgumentException("值不能為 null 或為空。", "password");return _provider.ValidateUser(userName, password);}

好了,對于throw的解說就到這里,今天做項目正好用到這個,所以就總結了一下,希望給你會帶來一點點幫助,呵呵。

回到目錄

總結

以上是生活随笔為你收集整理的基础才是重中之重~开发人员应用学会用throw的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。