VB.NET 错误中断问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VB.NET 错误中断问题相关的知识,希望对你有一定的参考价值。
如何能让VB.NET 出现错误的时候和VB6一样把错误停留在错误行上并显示该行?谢谢
不可以的,但是出现错误的时候不是已经告诉你在多少行了吗?你把行号显示出来就可以了。显示行号的方法:工具>选项>文本编辑器>basic>编辑器
这项下有个行号,你打钩就好了。
这样一来报错的时候,提示在多少行,你就到多少行去看。如果你没有用try的话,错误在哪里,ide会在错误的位置给你标示出来。 参考技术A 好像不行吧。。。在可能出错的行都设置上断点吧本回答被提问者采纳
VB.NET - 中断形式循环和结束形式
【中文标题】VB.NET - 中断形式循环和结束形式【英文标题】:VB.NET - Interrupt form loop and end form 【发布时间】:2011-06-13 23:02:42 【问题描述】:我有一个表单,它通过无限循环并处理数据。当我单击“关闭”表单的按钮时,即使已关闭,表单也会继续处理。我希望表单完全结束并退出其循环语句,然后打开一个新表单。
这是我用来关闭表单的代码
frmMain.Close()
frmMain.Dispose()
注意:我没有使用线程,它只是一个简单的VB.NET 应用程序。我没有关闭主启动窗体。
【问题讨论】:
【参考方案1】:真正的“正确”方法是使用后台工作线程。但这也可以在不需要后台工作线程的情况下工作。
在表单类中声明一个变量。
Private keepLoopAlive As Boolean
然后将您的处理循环编写为:
keepLoopAlive = True
Do While keepLoopAlive
(your code that loops here)
DoEvents
Loop
然后在您的 Close 事件中执行以下操作:
keepLoopAlive = False
Me.Close()
这将导致循环在第一时间结束,并且您的表单应该关闭。
请注意,我是从内存中编写此代码,而不是在 IDE 中,因此可能存在拼写错误。
【讨论】:
谢谢!我结束了将其实施到我的程序中,并且效果很好!我最初是在问我是否可以在不必专门退出循环的情况下突然结束表单过程,但听起来这是不可能的。 您可以在不终止循环的情况下结束进程。 .Net 中至少有三种简单的方法:将线程上的“IsBackground”设置为“true”,然后终止所有前台线程,或者调用 Environment.FailFast() 或 Environment.Exit()。 所有 Google 员工:请记住,正确的方法是使用后台工作器。 另外,请注意 Microsoft 在文档中警告说,使用DoEvents
可能会导致难以检测到错误,因此最好使用多线程。 msdn.microsoft.com/en-us/library/…【参考方案2】:
我不是.NET 开发人员,所以这可能无效,但如果我正在执行一个无限循环,我会在每次启动时检查循环是否仍然有效,并具有某种布尔值,如果它失败了,退出循环。
当您关闭表单时,将布尔值设置为 false,它将退出,您可以有一个等待并重新启动循环的外部循环,或者您可以在其他时间重新启动整个函数。
【讨论】:
以上是关于VB.NET 错误中断问题的主要内容,如果未能解决你的问题,请参考以下文章
错误:表插入在 vb.net 和 msacess 中返回错误