键入初始化异常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
}
如果在此处抛出异常:
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
方法或其他方法。静态构造函数中的异常通常很难处理。