婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > throw的一些用法

throw的一些用法

熱門標(biāo)簽:南陽外呼系統(tǒng)定制化 電話機(jī)器人軟件銷售工作 合肥電銷外呼系統(tǒng)哪家公司做的好 同安公安400電話怎么申請流程 申請400電話手續(xù) 蘋果手機(jī)凱立德地圖標(biāo)注 玉林市機(jī)器人外呼系統(tǒng)哪家好 百度ai地圖標(biāo)注 預(yù)測式外呼系統(tǒng)使用說明

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

讓程序告訴用戶一些事情,這些事情一般是開發(fā)人員之前定義好的,如對于一個(gè)輸入文本框,你需要輸入給定數(shù)字,但如果輸入的不是給定的數(shù)據(jù)范圍,則可以通過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塊(對于業(yè)務(wù)多變的情況下,我們可以使用策略模式,工廠模式去代替switch這個(gè)代碼壞味道),當(dāng)你輸入的參數(shù)不到給定的case條件時(shí),就會(huì)向上拋出異常,以告訴用戶!當(dāng)然默認(rèn)情況下會(huì)以黃屏的樣子出現(xiàn),我們運(yùn)營的系統(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);
        }


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

標(biāo)簽:南昌 南京 臺(tái)州 淄博 揚(yáng)州 南京 嘉興 海南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《throw的一些用法》,本文關(guān)鍵詞  throw,的,一些,用法,throw,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《throw的一些用法》相關(guān)的同類信息!
  • 本頁收集關(guān)于throw的一些用法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 漳州市| 丰台区| 潞西市| 尉氏县| 绥宁县| 双辽市| 安溪县| 郯城县| 杂多县| 三亚市| 海城市| 天台县| 广宗县| 常州市| 达州市| 桃源县| 奉节县| 洱源县| 纳雍县| 珠海市| 芦山县| 木里| 南郑县| 澎湖县| 内江市| 绵阳市| 沛县| 乐都县| 五大连池市| 宿迁市| 扎赉特旗| 恩施市| 尚志市| 宕昌县| 北流市| 白沙| 合阳县| 米易县| 玉环县| 沐川县| 屏东县|