繁体   English   中英

C# 处理文件错误

[英]C# Handle file errors

我正在尝试打开一个文件,如果文件路径不存在,我想返回例如 X,如果文件无法打开,则返回 Y,如果成功则返回 Z。

但是,我不明白如何检查“文件无法打开”错误,并且我不确定我的 try-catch 到目前为止是否正确。 我还想添加另一个语句来检查文件是否已经打开。

public int Opener(string fileName)
    { 
    string text = "";
        
        try
        {
            text = File.ReadAllText(fileName);
            return "Something to Return";
        }
        catch (FileNotFoundException)
        {
            return "Something to Return";
        }

您可以使用它来检查您描述的情况:

try
{
    string text = File.ReadAllText(fileName);

    //Z: reading was successful
}
catch (Exception ex)
{
    if (ex.InnerException is IOException)
    {
        //Y: file is already being read
    }
    else if (ex.InnerException is FileNotFoundException)
    {
        //X: file does not exist
    }
}

function 被声明为返回一个int ,因此您需要一个数字,例如 -1、0 或 1。如果要返回文本错误消息,请将 function 返回类型更改为string

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM