JXA NSFileManager createDirectoryAtPathWithIntermediateDirectoriesAttributesError 异常
JXA NSFileManager createDirectoryAtPathWithIntermediateDirectoriesAttributesError exception
我在 OS/X 10.11.5 上使用以下 JXA(JavaScript 用于自动化)代码:
function createFolder(path, createIntermediateDirectories) {
var error = {}
$.NSFileManager.defaultManager
.createDirectoryAtPathWithIntermediateDirectoriesAttributesError(
$(path).stringByStandardizingPath,
createIntermediateDirectories,
null,
error);
if (error)
throw Error("Could not create folder '" + path + "'");
};
我在 运行 时收到错误消息,尽管它确实创建了文件夹。这是错误:
Error: exception raised by object: -[NSNull objectForKey:]:
unrecognized selector sent to instance 0x7fff7b69b780 (-2700)
根据文件夹实际创建的事实和错误消息的文本来判断,我假设问题出在 "attributes" 参数上,该参数为 null (nil)。我想它创建了文件夹,然后去分配属性,然后就失败了。
有人知道如何解决这个问题吗?我从 JXA 调用任何其他 NSFileManager 方法都没有遇到任何问题,包括我向其传递 null and/or 布尔值的那些方法,所以这被难住了。
感谢任何帮助。
对不起,
我现在没有太多时间,所以这里有一个在这里可以正常工作的快速解决方案:
function createFolder(path, createIntermediateDirectories) {
error = $()
$.NSFileManager.defaultManager.createDirectoryAtPathWithIntermediateDirectoriesAttributesError(
$(path).stringByStandardizingPath,
createIntermediateDirectories,
$(),
error)
if (error) {
$.NSLog(error.localizedDescription);
}
};
玩得开心!
迈克尔/汉堡
我在 OS/X 10.11.5 上使用以下 JXA(JavaScript 用于自动化)代码:
function createFolder(path, createIntermediateDirectories) {
var error = {}
$.NSFileManager.defaultManager
.createDirectoryAtPathWithIntermediateDirectoriesAttributesError(
$(path).stringByStandardizingPath,
createIntermediateDirectories,
null,
error);
if (error)
throw Error("Could not create folder '" + path + "'");
};
我在 运行 时收到错误消息,尽管它确实创建了文件夹。这是错误:
Error: exception raised by object: -[NSNull objectForKey:]: unrecognized selector sent to instance 0x7fff7b69b780 (-2700)
根据文件夹实际创建的事实和错误消息的文本来判断,我假设问题出在 "attributes" 参数上,该参数为 null (nil)。我想它创建了文件夹,然后去分配属性,然后就失败了。
有人知道如何解决这个问题吗?我从 JXA 调用任何其他 NSFileManager 方法都没有遇到任何问题,包括我向其传递 null and/or 布尔值的那些方法,所以这被难住了。
感谢任何帮助。
对不起, 我现在没有太多时间,所以这里有一个在这里可以正常工作的快速解决方案:
function createFolder(path, createIntermediateDirectories) {
error = $()
$.NSFileManager.defaultManager.createDirectoryAtPathWithIntermediateDirectoriesAttributesError(
$(path).stringByStandardizingPath,
createIntermediateDirectories,
$(),
error)
if (error) {
$.NSLog(error.localizedDescription);
}
};
玩得开心! 迈克尔/汉堡