欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

throw的一些用法

 更新時(shí)間:2013年02月26日 14:38:51   作者:  
無(wú)論是.net還是java,在開發(fā)程序時(shí)都難免會(huì)用到throw關(guān)鍵字

無(wú)論是.net還是java,在開發(fā)程序時(shí)都難免會(huì)用到throw關(guān)鍵字,對(duì)于初學(xué)者一般會(huì)認(rèn)為它與try...catch捆綁在一起,這當(dāng)然是錯(cuò)誤的,事實(shí)上,throw的一個(gè)最重要的作用就是:

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

讓程序告訴開發(fā)人員一些事情,這些事情一般是底層開發(fā)人員之前定義好的,如果一些業(yè)務(wù)規(guī)范,如果開發(fā)人員輸入的不合法,程序就會(huì)拋出一個(gè)異常,以告訴表層開發(fā)人員!

下面是一個(gè)程序中的throw用法:

復(fù)制代碼 代碼如下:

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("參數(shù)不正確");
                }
            }

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

.net mvc為我們提供的實(shí)例項(xiàng)目,是這樣使用throw關(guān)鍵字的,看代碼:

復(fù)制代碼 代碼如下:

public bool ValidateUser(string userName, string password)
        {
            if (String.IsNullOrEmpty(userName)) throw new ArgumentException("值不能為 null 或?yàn)榭铡?, "userName");
            if (String.IsNullOrEmpty(password)) throw new ArgumentException("值不能為 null 或?yàn)榭铡?, "password");

            return _provider.ValidateUser(userName, password);
        }


好了,對(duì)于throw的解說(shuō)就到這里,今天做項(xiàng)目正好用到這個(gè),所以就總結(jié)了一下,希望給你會(huì)帶來(lái)一點(diǎn)點(diǎn)幫助,呵呵。

相關(guān)文章

最新評(píng)論