键入初始化异常c#

本文关键字:异常 初始化 | 更新日期: 2024-10-21 03:20:29

我研究了另一个类似的问题,但不太明白他们是怎么解决这个问题的。

我只是将一个值传递给一个公共静态int:

namespace ModNote
{
public partial class homeScreen : Form
{
    public homeScreen()
    {
        InitializeComponent();
    }
    private void gamemodButton_Click(object sender, EventArgs e)
    {
        backgroundProgram.moduleNumber = 1;
        this.Hide();
        moduleScreen showForm = new moduleScreen();
        showForm.Show();         
    }

这就是这个变量初始化的地方

namespace ModNote
{
#region // Setting up Variables
public class backgroundProgram
{
    public static int moduleNumber;     
}
#endregion

}

这里是错误的图片:http://puu.sh/opETJ/fb8152d164.png

谢谢。

编辑:初始化字符串数组会导致此错误,初始化此数组有任何问题吗?(模块阵列)

namespace ModNote
{
#region // Setting up Variables
public class backgroundProgram
{
    public static int moduleNumber;
    public static string[] noteArray;
    public static string[] moduleArray = new string[7] 
    { File.ReadAllText(@"ModulesFile'CGP1005M.txt"),
        File.ReadAllText(@"ModulesFile'CMP1005M.txt"),
        File.ReadAllText(@"ModulesFile'CMP1123M.txt"),
        File.ReadAllText(@"ModulesFile'CMP1124M.txt"),
        File.ReadAllText(@"ModulesFile'CMP1125M.txt"),
        File.ReadAllText(@"ModulesFile'CMP1127M.txt"),
        File.ReadAllText(@"ModulesFile'CMP1129M.txt")
    };
}
#endregion

}

键入初始化异常c#

如果在此处抛出异常:

public static string[] moduleArray = new string[7] 
{ File.ReadAllText(@"ModulesFile'CGP1005M.txt"),
    File.ReadAllText(@"ModulesFile'CMP1005M.txt"),
    File.ReadAllText(@"ModulesFile'CMP1123M.txt"),
    File.ReadAllText(@"ModulesFile'CMP1124M.txt"),
    File.ReadAllText(@"ModulesFile'CMP1125M.txt"),
    File.ReadAllText(@"ModulesFile'CMP1127M.txt"),
    File.ReadAllText(@"ModulesFile'CMP1129M.txt")
};

然后其中一行抛出了一个异常。从文件读取时引发异常的原因有很多——安全性、找不到、正在使用等。

我建议将该逻辑移到静态构造函数中,这样您就可以对其进行调试以找到直接的问题,然后添加更好的错误处理。

另一种选择是读取静态构造函数中的所有数据,而是创建一个Initialize方法或其他方法。静态构造函数中的异常通常很难处理。