簡體   English   中英

C#的C#ifstream異常掩碼

[英]C++ ifstream exception masks for C#

我如何將這行代碼從C ++轉換為C#?

std::ifstream in;
in.exceptions(std::ios_base::badbit); //*THIS LINE*

根據此頁面 ,上一行代碼為流設置了新的異常掩碼,並清除了任何當前的錯誤狀態標志。 我還猜測這是上面鏈接頁面中std::ios::exceptions的“第二種形式”。

由於我對C#的FileStream類缺乏經驗,由於缺少類似內容,我一直感到非常困惑。

如果發生任何基礎I / O錯誤,則FileStream.ReadFileStream.Write方法都將引發IOException 這是默認行為。

與C ++不同,異常引發是C#中錯誤處理的預期形式。 因為異常從一開始就是.NET的一部分,所以與C ++一樣,圍繞流使用異常沒有任何爭執

大多數(如果不是全部).NET框架標准庫都會在異常狀態下引發異常。 我能想到的唯一例外是使用Try-Parse模式時 ,該模式對於預期的行為非常明確。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM