c# - 使用在 try 中声明的变量 使用 catch 中的值
问题描述
长版:
我被要求开发一个程序,将目录中的文件写入数据库。此外,该目录中更深层次的文件也需要写入数据库。在那里它应该显示为两列。一个显示路径,另一个显示文件名+扩展名。我编写了一个在测试环境中运行良好的程序。但是,在实时环境中,我没有打开我想要的每个目录的所有权利和权限。此外,由于一些迁移,一些目录的路径名太长,无法再打开。所以他们告诉我将这些目录写入数据库,而不是在 file_name 列中显示文件名和扩展名,而是用“无访问权限”填充那个。但是,为了避免尝试打开“坏”目录,我使用了 try/catch 模块。现在我需要一个在 try 中声明的变量并在 catch 中使用它。无论如何这是可能的吗?我将发布部分代码,以便您可以看到我现在拥有的内容。
精简版:
我想获取在 try 模块中声明的变量并在 catch 模块中使用它。有没有办法做到这一点?
public HashSet<String> getFolders(Path path, HashSet<String> folders)
{
try
{
foreach (String folder in Directory.GetDirectories(path.getOrigineleMap()))
{
Path p = path;
p.setOrigineleMap(folder);
folders.Add(folder);
getFolders(p,folders);
}
}
catch (System.Exception e)
{
Console.WriteLine("No access to a folder");
writeToDatabase(path, folder + @"\No access"); //path is a variable of the type Path, and the String should be the entire
} //path from the directory + \No Access
return folders;
}
解决方案
推荐阅读
- power-automate - Power Automate 自定义连接器触发器配置尚未保存到 Swagger 编辑器
- javascript - 如何处理模块的反应路由?
- java - 使用 KeywordDriven 从 Excel 文件中获取数据时执行测试用例时遇到问题
- python - 获取其他数据帧熊猫中日期最近的行,但日期必须早于另一个数据帧中的日期
- lua - 如何开始在 Lua 中使用 LPEG 编写表达式评估器?
- rate-limiting - 关于 IP 的多个 API 的 Fastify-rate-limit
- javascript - 使用构造函数时如何检查是否调用了外部库中的方法?
- json - 需要在 VBA 中将 Excel 工作表转换为其 Json 格式
- javascript - AR.js/Three.js 使用多个 NFT 标记时性能不佳
- python - 如何在 Python 中注册 JDBC Spark 方言?