我有一个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
最佳答案
您没有提及正在使用的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将包含特定于操作系统的错误代码,以帮助您查明问题。
http://docs.realsoftware.com/index.php/IOException
关于permissions - RealBasic应用程序在Writeline上崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3885891/