1
當我嘗試打開要寫入的文件時,我得到一個Ada.IO_Exceptions.Name_Error。在Ada中,爲什麼我嘗試打開一個寫入失敗的文件?
文件名是「C:\ CC_TEST_LOG.TXT」。該文件不存在。
這是在NTFS分區上的Windows XP上。用戶有權創建並寫入目錄。 文件名遠遠低於WIN32最大路徑長度。
name_2 : String := "C:\CC_TEST_LOG.TXT"
if name_2'last > name_2'first then
begin
Ada.Text_IO.Create(file, Ada.Text_IO.Out_File, name_2);
Ada.Text_IO.Put_Line(
"CC_Test_Utils: LogFile: ERROR: Open, File "
& name_2);
return;
exception
when The_Error : others =>
Ada.Text_IO.Put_Line(
"CC_Test_Utils: LogFile: ERROR: Open Failed; "
& Ada.Exceptions.Exception_Name(The_Error)
& ", File " & name_2);
end;
end if;
我可以使用虛擬化XP中發佈的代碼創建並打開(或覆蓋)該文本文件。我唯一能想到的是,在你的情況下,文件已經存在,運行該代碼的用戶沒有正確的權限來訪問或修改它。哪一個是你的情況中拋出的異常? – Xandy 2010-03-10 02:22:04