5
据the System.Directory haddock,renameFile
可能会因多种原因:发生哈斯克尔:捕低级IO异常
- HardwareFault物理I/O错误。 [EIO]
- InvalidArgument两个操作数都不是有效的文件名。 [ENAMETOOLONG,ELOOP]
- isDoesNotExistError/NoSuchThing原始文件不存在,或者没有目标路径。 [ENOENT,ENOTDIR]
- isPermissionError/PermissionDenied进程没有足够的权限执行操作。 [EROFS,EACCES,EPERM]
- ResourceExhausted资源不足,无法执行操作。 [EDQUOT,ENOSPC,ENOMEM,EMLINK]
- UnsatisfiedConstraints不满足依赖于实现的约束条件。 [EBUSY]
- UnsupportedOperation在这种情况下,实现不支持重命名。 [EXDEV]
- 不适当的类型任一路径都是指现有目录。 [ENOTDIR,EISDIR,EINVAL,EEXIST,ENOTEMPTY]
一对夫妇这些(isPermissionError,isDoesNotExistError)的似乎已经测试功能,但其他人(包括UnsupportedOperation,其中我感兴趣)不符合任何东西。什么是UnsupportedOperation
,我该如何测试它?
更一般地说,我该如何去了解这是什么东西。我无法在源代码中看到它引发的任何地方,所以我猜这是围绕较低级别错误的包装 - 但我应该如何处理这些问题?
劳驾给个例子吗?我正在尝试'IOError _ UnsupportedOperation _ _ __ - >只是x',但得到关于不导出IOError/IOException的投诉。 – Impredicative
我不确定你的模式匹配有什么问题,它对我来说看起来不错。我添加了完整的例子,为我编译和工作。 – Yuras
哈!做一个不合格的进口完全没有发生在我身上!谢谢! – Impredicative