何が問題なのですか? 同じ例外が発生するたびに例外が発生します。これは、ボタンをクリックして呼び出すと例外をスローする行です。
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() にジャンプしてパスとファイルを作成しないのはなぜですか?