【发布时间】:2016-09-09 19:17:32
【问题描述】:
我们正在使用 CsvReader 从数百个 CSV 文件中提取数据。有时,我们会收到一个空文件。如果我打电话给Read() 或ReadHeader(),我最终会遇到异常。我认为ReadHeader() 应该只返回false,但我想知道我是否遗漏了什么。
有没有办法更优雅地处理这个问题(即不抛出异常)?
【问题讨论】:
标签: csvhelper
我们正在使用 CsvReader 从数百个 CSV 文件中提取数据。有时,我们会收到一个空文件。如果我打电话给Read() 或ReadHeader(),我最终会遇到异常。我认为ReadHeader() 应该只返回false,但我想知道我是否遗漏了什么。
有没有办法更优雅地处理这个问题(即不抛出异常)?
【问题讨论】:
标签: csvhelper
例外是No header record was found,如here 所述。处理文件前检查Stream.Length,如果为0则不处理。
【讨论】:
Stream.Length。结果是NotSupportedException。但是鉴于ReadHeader返回一个布尔值,奇怪的是它只是抛出一个异常而不是返回false。
Read() 甚至 ReadHeader() throw 即使标题确实存在