捕获EndOfStreamException异常

panliwu 2004-11-24 08:59:39
我想捕获EndOfStreamException异常,为何下面这段代码是死循环,不能捕获EndOfStreamException异常?应该是读到文件尾就触发EndOfStreamException异常的?
Function GetStringsFromFile(ByVal FileName As String) As Collection
Dim Strings As New Collection
Dim Stream As System.IO.StreamReader = System.IO.File.OpenText(FileName) 'Open the file.

Try
While True ' Loop terminates with an EndOfStreamException
' error when end of stream is reached.
Strings.Add(Stream.ReadLine())
End While
Catch eos As System.IO.EndOfStreamException
' No action is necessary; end of stream has been reached.
Catch IOExcep As System.IO.IOException
' Some kind of error occurred. Report error and clear collection.
MsgBox(IOExcep.Message)
Strings = Nothing
Finally
Stream.Close() ' Close the file.
End Try

Return Strings
End Function

...全文
358 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
creazyfish 2004-11-24
  • 打赏
  • 举报
回复
帮顶
panliwu 2004-11-24
  • 打赏
  • 举报
回复
我想给学生介绍一下异常的捕获的,在这用while true来处理文件,希望读到文件尾时能捕获这个异常,跟踪一下代码,发现这段代码一直循环,读到文件尾时还在读?????
haoztao 2004-11-24
  • 打赏
  • 举报
回复
呵呵,自己好好看呗
farrio 2004-11-24
  • 打赏
  • 举报
回复
Do While Stream.Peek() >= 0
Strings.Add(Stream.ReadLine())
Loop
为什么不这样用?捕获异常很费时间的,而且也不好啊。
jxzhang615 2004-11-24
  • 打赏
  • 举报
回复
帮顶!

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧