0

何が問題なのですか? 同じ例外が発生するたびに例外が発生します。これは、ボタンをクリックして呼び出すと例外をスローする行です。

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

Point_X はタイプ Float のリストです

問題を解決する方法がわかりません。

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() にジャンプしてパスとファイルを作成しないのはなぜですか?

4

1 に答える 1

0

その例外は、その型の一部の静的メンバーを初期化できなかったか、その型の静的コンストラクターが失敗したことを意味します。それらを確認してください。

あなたのスタックトレースは、問題が

D:\C-Sharp\AnimationEditor\AnimationEditor\Options_DB.cs:line 30 の mws.Options_DB..cctor() で

.cctor() は静的コンストラクターです。

于 2012-07-03T21:40:23.337 に答える