我有一个Mac RB应用程序,当我在用户的首选项上写一行到TextOutputStream时崩溃。 当用户是管理员时,写操作很有效,但任何其他用户崩溃。 这让我认为这是一个许可问题,所以我试着改变许可,没有运气。
错误是: “未处理类NilObjectException的异常。操作必须关闭”
任何来自你的人都会非常感激。 谢谢!
以下是代码:
Dim TableString as String
Dim fileStream As TextOutputStream
Dim File as FolderItem
File = SpecialFolder.SharedPreferences.Child("FileName.txt")
TableString = TranslationTableToString
fileStream=File.CreateTextFile
// This didn't help:
//File.permissions= &o777
// This line Breaks:
fileStream.WriteLine TableString
答案 0 :(得分:1)
您没有提到您正在使用的RB版本,但对于任何合理的当前版本,您应该使用的语法是:
fileStream = TextOutputStream.Create(File)
你应该用Try / Catch包装来获得这个:
Try
fileStream = TextOutputStream.Create(File)
fileStream.WriteLine(TableString)
Catch e As IOException
MsgBox("Error Code: " + Str(e.ErrorNumber))
End Try
e.ErrorNumber将包含特定于操作系统的错误代码,以帮助您查明问题。