2012-07-03 8 views
0

В чем может быть проблема? Исключение происходит каждый раз при одном и том же исключении. Это линия, бросить исключение, когда я нажимаю кнопку, и назвать его:У меня есть исключение: инициализатор типа для «mws.Options_DB» выдал исключение. что это значит?

public void Save() 
     { 
      Options_DB.Set_Points_Coordinates_List(Point_X); 
     } 

Point_X является Список типа Float

Cant выяснить, как ВЗ решить эту проблему.

Я имею в Form1 события нажатия кнопки будет где я называю там функцию выше в другом классе: Save()

я использовал контрольную точку на ней, когда ее делает линию в Save() Функция его будет О.Т. класс Options_DB и делать в верхней части его:

static List<float> Points_Coordinates; 
     static string settings_dir; 
     static string settings_file; 
     static OptionsFile setting_file; 
     static string path_settings; 
     static string path_exe; 

     static Options_DB() 
     { 
      // --- O P E N N I N G S E T T I N G F I L E 
      //t = voices_volume_trackbar.ToString(); 
      path_exe = Path.GetDirectoryName(Application.LocalUserAppDataPath); 
      path_settings = Path.GetDirectoryName(Application.LocalUserAppDataPath); 
      settings_file = "\\settings.txt"; 
      settings_dir = path_settings + @"\settings"; 
      setting_file = new OptionsFile(settings_dir + settings_file); 

Когда его получение в строке: setting_file = new OptionsFile(settings_dir + settings_file); становится в классе OptionsFile и там его пытаются создать директорию и файл в исключения:

string path_exe; 
     string temp_settings_file; 
     string temp_settings_dir; 
     string Options_File; 
     StreamWriter sw; 
     StreamReader sr; 

/*---------------------------------------------------------- 
* Function  : OptionsFile 
* Description : Constructor 
* Parameters : file_name is the name of the file to use 
* Return  : none 
* --------------------------------------------------------*/ 
    public OptionsFile(string settings) 
    { 

     if (File.Exists(settings)) 
     { 

     } 
     else 
     { 
     FileStream fs=File.Create(settings); 

Но как только точка останова находится в строке File.Create (settings); и я вижу, что параметры, содержащие путь и имя файла, вместо того, чтобы создавать их, возвращаются к функции Save() в строку внутри, а затем генерируют исключение.

Почему он прыгает в Save() и не создает путь и файл?

+1

Вы заметили, что «Не удалось найти часть пути» C: \ Users \ Chocolade \ AppData \ Local \ AnimationEditor \ AnimationEditor \ settings \ settings.txt'' в InnerException? – DaveShaw

+0

DaveShaw Спасибо. – user1477444

ответ

0

Это исключение означает, что какой-либо статический член этого типа не может быть инициализирован или статический конструктор для этого типа не удалось. Проверьте их.

Ваш StackTrace ясно указывает на то, что проблема

на mws.Options_DB..cctor() в D: \ C-Sharp \ AnimationEditor \ AnimationEditor \ Options_DB.cs: линия 30

.cctor() - статический конструктор.

Смежные вопросы