繁体   English   中英

通过在写入文件之前检测系统文件夹来避免System.Runtime.InteropServices.COMException

[英]Avoid System.Runtime.InteropServices.COMException by detecting a system folder before writing a file

我有一个vb .net应用程序,用户可以在其中选择将excel文件写入其中的目录。 如果用户选择系统目录(是的,我的用户这样做,不用问我为什么),那么在运行时将引发System.Runtime.InteropServices.COMException。

我正在处理此异常,告诉用户请选择另一个目录。

我的应用程序可以正常运行,但是我真的很想知道如何检测该目录是否允许在引发异常之前将文件写入其中。

不,使用System.IO.DirectoryInfo并不能解决问题……或者也许可以,但是我还不够好。

谢谢!

尝试在目标文件夹中创建一个虚拟文件,如果成功,则将其删除-如果该文件(创建)失败,则很有可能无法在其中保存.xls(x)文件! 确保DirectoryInfo将允许检测系统文件/文件夹,但是,伪文件技巧是一种检查任何文件夹权限的廉价方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM