CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

★▲★▲如何取得语句所在代码中的行号???

楼主CoolMaker()2005-01-18 15:46:56 在 VB / 基础类 提问

在Runtime   error时,大家是怎么进行错误处理的,VB自带的ErrObject提供的信息好少,只告诉错误的原因,并不告诉错误的位置,自己在函数里面写,最精确也只能定位到函数,却无法定位到在第几行出错。。。调试好费时间  
   
  各位高手前辈是怎么解决的,有更好的定位错误的方法吗? 问题点数:100、回复次数:18Top

1 楼rainivy(天涯远不远?-----不远。人已在天涯,天涯又怎么会远?)回复于 2005-01-18 15:52:11 得分 5

你去掉错误捕捉不就会提示哪行出错了?Top

2 楼zqfleaf(动力港湾)回复于 2005-01-18 15:53:10 得分 5

调试的时候  
  工具->选项->通用->选择发生错误时中断Top

3 楼libralibra(食食物者为俊杰: U don't try, U don't know)回复于 2005-01-18 15:57:10 得分 5

直接停在出错的那行啊,黄色突出显示的,怎么会不知道呢?Top

4 楼CoolMaker()回复于 2005-01-18 16:05:02 得分 0

我没说清楚  
   
  我是说编译成exe文件后,在客户那里出错了,没办法用代码调试Top

5 楼hdhai9451(☆新人类☆)回复于 2005-01-18 16:12:02 得分 5

用Err對象找錯誤  
   
  Err.Number     錯誤號  
  Err.Description     錯誤描述  
  Top

6 楼daisy8675(莫依 沉迷)回复于 2005-01-18 16:12:24 得分 5

他出个什么错误,怎么操作出错的,VB一般没有办法的,一般都是用错误处理过掉。  
  Top

7 楼viena(维也纳N02)回复于 2005-01-18 16:12:45 得分 5

设一个全局变量,标志是否调试状态,运行加个   -debug参数表示以调试状态运行(用comman函数接收参数)  
   
  调试状态,把容易出错的地方,比如SQL语句等,包括时间、位置等,写入日志(文本文件)Top

8 楼viena(维也纳N02)回复于 2005-01-18 16:12:54 得分 5

设一个全局变量,标志是否调试状态,运行加个   -debug参数表示以调试状态运行(用comman函数接收参数)  
   
  调试状态,把容易出错的地方,比如SQL语句等,包括时间、位置等,写入日志(文本文件)Top

9 楼hdhai9451(☆新人类☆)回复于 2005-01-18 16:14:42 得分 5

大概格式這樣  
   
  Private   Sub   Command1_Click()  
   
  on   error   goto   errmsg  
  ................  
  .......  
   
  exit   sub  
   
  errmsg:  
        if   Err.Number<>0   then    
                    msgbox   ""   &   Err.Description    
        endif  
   
   
  End   SubTop

10 楼viena(维也纳N02)回复于 2005-01-18 16:21:39 得分 5

可以使用  
  #If...Then...#Else  
   
  条件编译某些代码块  
  Top

11 楼CoolMaker()回复于 2005-01-18 16:28:52 得分 0

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★  
  唉。。。谢谢大家这么热心帮助我,但是我的问题是:  
   
  在运行EXE文件有Runtime   Error,我会把Err.Number   和   Err.Description    
  记录到日志文件里,但是我想在日志文件中纪录更精确的错误信息,比如出  
  错误位置在代码中的行号,出错误的变量名、对象名之类的,VB可以做到吗?Top

12 楼viena(维也纳N02)回复于 2005-01-18 16:48:23 得分 5

不可能的,  
  编译后的程序,已经没有“行号,出错误的变量名、对象名”这些概念了  
  Top

13 楼viena(维也纳N02)回复于 2005-01-18 16:50:51 得分 15

除非你自己得到,但那样代价太大了  
  比如用一个变量,每一行后,变量+1,得到当前行号Top

14 楼tmd007(学而时习之,不亦乐乎。姓菜名了字灌之号蹭之。)回复于 2005-01-18 16:53:26 得分 5

较繁杂,设陷阱Top

15 楼CoolMaker()回复于 2005-01-18 17:14:00 得分 0

设陷阱?How?Top

16 楼flashasp(flashasp)回复于 2005-01-18 17:21:45 得分 5

hdhai9451   的方法可以试试Top

17 楼wooin(魑魅魍魉)回复于 2005-01-19 10:43:36 得分 25

Err   对象  
                                 
   
  含有关于运行时错误的信息。  
   
  说明  
  Err   对象的属性由错误的生成者来设置,这个生成者或者是   Visual   Basic,或者是对象,或者是程序设计员。  
   
  Err   对象的缺省属性是   Number。因为该缺省属性可以用对象名称   Err   表示,所以不必修改以前用   Err   函数或   Err   语句书写的代码。  
   
  当运行时错误发生时,Err   对象的属性被填入明确识别错误的信息以及处理这个错误所使用的信息。为了在代码中生成运行时错误,请用   Raise   方法。  
   
  在任意形式的   Resume   或   On   Error   语句之后以及在错误处理子程序内的   Exit   Sub、Exit   Function、或   Exit   Property   语句之后,将   Err   对象的属性重新设置为零或长度为零的字符串   ("")。可使用   Clear   方法重新明确设置   Err   。  
   
  为了对系统错误和类模块生成运行时错误,要使用   Raise   方法而不使用   Error   语句。在其它代码中是否使用   Raise   方法,这要看想要返回的信息量有多大。  
   
  Err   对象是具有全局范围的固有对象。在代码中没有必要建立这些对象的实例。  
  Top

18 楼CoolMaker()回复于 2005-01-20 09:02:35 得分 0

呵呵,看来还是搞不定  
  过年了,来者有分,Top

相关问题

  • 急!select语句怎样带上行号?
  • select语句中能否行成行号?
  • vc的代码编辑器有没有删除所在行语句的快捷键?
  • 如何显示代码的行号?
  • 什么样在select语句中加入一列行号??
  • 【问】如何取得TextBox.SelStart所在行号?
  • java代码中写insert语句
  • 关于捕获出错时的原代码文件名和代码行号
  • 如何在代码编辑器中显示行号?
  • 怎么让BCB5的代码编辑器显示行号?

关键词

  • 语句
  • 代码
  • 函数
  • 属性
  • 文件
  • 信息
  • 错误
  • 行号
  • 变量
  • err

得分解答快速导航

  • 帖主:CoolMaker
  • rainivy
  • zqfleaf
  • libralibra
  • hdhai9451
  • daisy8675
  • viena
  • viena
  • hdhai9451
  • viena
  • viena
  • viena
  • tmd007
  • flashasp
  • wooin

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo