最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#使用throw和throw?ex拋出異常的區(qū)別介紹

 更新時間:2022年10月22日 14:38:57   作者:Darren?Ji  
這篇文章介紹了C#使用throw和throw?ex拋出異常的區(qū)別,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

通常,我們使用try/catch/finally語句塊來捕獲異常,就像在這里說的。在拋出異常的時候,使用throw和throw ex有什么區(qū)別呢?

假設(shè),按如下的方式調(diào)用幾個方法:

→在Main方法中調(diào)用Method1方法,try/catch捕獲異常
→在Method1方法中調(diào)用Method2方法,try/catch捕獲異常
→在Method2方法中故意拋出異常,try/catch捕獲異常

使用throw拋出異常

       static void Main(string[] args)
        {
            try
            {
                Method1();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.StackTrace.ToString());
                
            }
            Console.ReadKey();
        }
        static void Method1()
        {
            try
            {
                Method2();
            }
            catch (Exception ex)
            {
                
                throw;
            }
        }
        static void Method2()
        {
            try
            {
                throw new Exception("來自方法2的異常");
            }
            catch (Exception ex)
            {                
                throw;
            }
        }

可以看到,使用throw拋異常,把發(fā)生在Method2方法、Method1方法和Main方法中的異常全部拋了出來。

使用throw ex拋出異常

現(xiàn)在,在Method1方法中,使用throw ex拋出異常。

        static void Method1()
        {
            try
            {
                Method2();
            }
            catch (Exception ex)
            {
                
                throw ex;
            }
        }

可見, 使用throw ex拋異常,只會把Method1方法和Main方法中的異常拋出來。

總結(jié):如果想獲取最完整的StackTrace信息,使用throw拋出異常,從中可以知道異常到底來自哪個方法。

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

相關(guān)文章

最新評論

武冈市| 渝北区| 堆龙德庆县| 八宿县| 绥宁县| 沙雅县| 卢龙县| 阿拉善左旗| 渝中区| 大同县| 涡阳县| 绥化市| 南召县| 金乡县| 东阳市| 富宁县| 曲靖市| 盐池县| 隆安县| 绥棱县| 祁连县| 罗田县| 临邑县| 阳原县| 积石山| 夏津县| 怀仁县| 平远县| 呼伦贝尔市| 永靖县| 建平县| 城口县| 怀柔区| 社旗县| 兴海县| 容城县| 瑞昌市| 美姑县| 乌苏市| 郯城县| 安陆市|