簡體   English   中英

在這種情況下如何引發異常-C#

[英]How to throw the exception in this case - c#

好吧,我有一個其構造函數檢查文件是否存在的類。 如果文件不存在,則拋出新異常。

問題是當引發異常時,用戶可以看到我的所有代碼...

沒辦法,從用戶實例化類的地方檢測到異常?

例如

異常的啟動在這里發生,這樣,程序員可以在類中看到所有異常

if (!File.Exists(FileLocation))
        {
            throw new TFDException("File not found in the provided directory.");
        }

但想在這里發生,那是我實例化課程的地方

TFDConnection con = new TFDConnection("D:\\File.tfd");

你可以這樣做

try
{
    TFDConnection con = new TFDConnection("D:\\File.tfd");
}
catch(Exception exx)
{
}

趕上例外

如果源代碼無法在pdb文件中定義的相同位置供其他程序員使用,則他們將不會看到實際的源代碼異常。 但是總的來說,如果其他程序員真的想發現正在發生的事情,那么即使是混淆器也無濟於事,它們只會使事情變得更難了……但是還有另一件事-為什么在構造函數中拋出異常? 這不是很好的做法,因為它可能會使某些資源處於未知狀態...最好避免這種情況

暫無
暫無

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

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