语句错误代码0xc004e003

错误代码0xc004e003  时间:2021-02-22  阅读:()

在编写程序的过程中,难免会遇到一些错误.
为了消除这些错误,开发人员需要对应用程序进行调试,查出错误的原因.
这些错误可能是非常隐蔽且难以发现的,因此,开发人员需要进行大量故障排查才能发现错误的根源.
应用程序开发完成且错误消除之后,必须使用各种数据对它们进行测试,才能确保应用程序能够成功运行.
本章主要介绍如何对程序进行调试以及错误处理.

13.
1程序调试程序调试是在程序中查找错误的过程,在开发过程中,程序调试是检查代码并验证它能否正常运行的有效方法.
另外,在开发时,如果发现程序不能正常工作,就必须找出并解决有关问题.
本节将对几种常用的程序调试操作进行讲解.

13.
1.
1断点断点通知调试器,应用程序在某点上(暂停执行)或某情况发生时中断.
发生中断时,称程序和调试器处于中断模式.
进入中断模式并不会终止或结束程序的执行,所有元素(如函数、变量和对象)都保留在内存中.
执行可以在任何时候继续.

插入断点有3种方式:在要设置断点行旁边的灰色空白处单击;右击设置断点的代码行,在弹出的快捷菜单中选择"断点"/"插入断点"命令,如图13.
1所示;单击要设置断点的代码行,选择菜单中的"调试"/"切换断点"命令,如图13.
2所示.

图13.
1右击插入断点图13.
2菜单栏插入断点插入断点后,就会在设置断点的行旁边的灰色空白处出现一个红色圆点,并且该行代码也呈高亮显示,如图13.
3所示.

图13.
3插入断点后效果图删除断点主要有如下3种方式.
可以单击设置了断点的代码行左侧的红色圆点.
在设置了断点的代码行左侧的红色圆点上右击,在弹出的快捷菜单中选择"删除断点"命令.

在设置了断点的代码行上右击,在弹出的快捷菜单中选择"断点"/"删除断点"命令,如图13.
4所示.

13.
1.
2开始执行开始执行是最基本的调试功能之一,从"调试"菜单(见图13.
5)中选择"启动调试"命令或在源窗口中右击,可执行代码中的某行,然后从弹出的快捷菜单中选择"运行到光标处"命令,如图13.
6所示.

图13.
5"调试"菜单图13.
6某行代码的右键菜单除了使用上述的方法开始执行外,还可以直接单击工具栏中的按钮,启动调试,如图13.
7所示.

图13.
7工具栏中的启动调试按钮如果选择"启动调试"命令,则应用程序启动并一直运行到断点.
可以在任何时刻中断执行,以检查值、修改变量或检查程序状态,如图13.
8所示.

图13.
8选择"启动调试"命令运行结果如果选择"运行到光标处"命令,则应用程序启动并一直运行到断点或光标位置,具体要看是断点在前还是光标在前,可以在源窗口中设置光标位置.
如果光标在断点的前面,则代码首先运行到光标处,如图13.
9所示.

图13.
9选择"运行到光标处"命令运行结果13.
1.
3中断执行当执行到达一个断点或发生异常,调试器将中断程序的执行.
选择"调试"/"全部中断"命令后,调试器将停止所有在调试器下运行的程序的执行.
程序并不退出,可以随时恢复执行.
此时调试器和应用程序处于中断模式.
"调试"菜单如图13.
10所示.

除了通过选择"调试"/"全部中断"命令中断执行外,也可以单击工具栏中的按钮中断执行,如图13.
11所示.

图13.
10"调试"菜单图13.
11工具栏中的中断执行按钮13.
1.
4停止执行停止执行意味着终止正在调试的进程并结束调试会话,可以通过选择菜单中的"调试"/"停止调试"命令来结束运行和调试.
也可以单击工具栏中的按钮停止执行.

13.
1.
5单步执行通过单步执行,调试器每次只执行一行代码,单步执行主要是通过"逐语句"、"逐过程"和"跳出"这3种命令实现的.
"逐语句"和"逐过程"的主要区别是当某一行包含函数调用时,"逐语句"仅执行调用本身,然后在函数内的第一个代码行处停止.
而"逐过程"执行整个函数,然后在函数外的第一行处停止.
如果位于函数调用的内部并想返回到调用函数时,应使用"跳出"命令,"跳出"命令将一直执行代码,直到函数返回,然后在调用函数中的返回点处中断.

当启动调试后,可以单击工具栏中的按钮执行"逐语句"操作、单击按钮执行"逐过程"操作和单击按钮执行"跳出"操作,如图13.
12所示.

图13.
12单步执行的3种命令13.
1.
6运行到指定位置如果希望程序运行到指定的位置,可以在指定代码行上右击,在弹出的快捷菜单中选择"运行到光标处"命令,这样当程序运行到光标处时就会自动暂停;另外,也可以在指定的位置插入断点,同样可以使程序运行到插入断点的代码行时自动暂停.

13.
2常见服务器故障排除在VisualStudio中测试网站时,ASP.
NETDevelopmentServer将自动运行,但在一些情况下,使用ASP.
NETDevelopmentServer会产生错误.
本节介绍Web服务器可能产生的错误,并提供相应的解决办法.

13.
2.
1Web服务器配置不正确运行网站时,显示如下错误:Thewebserverisnotconfiguredcorrectly.
Seehelpforcommonconfigurationerrors.
Runningthewebpageoutsideofthedebuggermayprovidefurtherinformation.
造成该错误的原因以及常见的解决办法大概包括以下两种.
原因1:网站的执行权限不够解决办法:打开IIS,选择对应网站的属性,在"主目录"选项卡中选择执行权限为"脚本和可执行文件".

原因2:身份验证方式不正确解决办法:打开IIS,在"网站"节点下选择对应网站,单击鼠标右键,在弹出的快捷菜单中选择"属性"命令,打开网站的属性窗口,选择"目录和安全性"选择卡,单击"匿名访问和身份验证控制"区域中的"编辑"按钮,打开身份验证方法,选中"启用匿名访问"和"集成Windows身份验证"复选框.

13.
2.
2IIS管理服务没有响应当IIS管理服务没有响应时,会发生"安全检查失败,因为IIS管理服务没有响应"的错误,这通常表示IIS的安装有问题.

解决此错误的方法如下:(1)使用"管理工具"中的"服务"工具验证该服务是否正在运行.
(2)然后按照以下方法进行操作.
使用"程序和功能"中的"打开或关闭Windows功能"重新安装IIS.
使用"程序和功能"中的"打开或关闭Windows功能"从计算机中删除IIS并重新安装IIS.

13.
2.
3未安装ASP.
NET当用户尝试调试的计算机上未正确安装ASP.
NET时,会发生"未安装ASP.
NET"错误,此错误可能意味着从未安装过ASP.
NET,或者先安装了ASP.
NET,然后又安装了IIS.

解决此错误的方法如下:选择"开始"菜单中的"运行"命令,在打开的"运行"窗口输入以下命令安装ASP.
NET并注册到IIS.

\WINNT\Microsoft.
NET\Framework\version\aspnet_regiis-i其中,version表示安装在用户计算机上的.
NETFramework的版本号.
13.
2.
4连接被拒绝连接被拒绝时,服务器报告以下错误:10061-ConnectionRefusedInternetSecurityandAccelerationServer如果计算机在受InternetSecurityandAccelerationServer(SAServer)保护的网络上运行,并且满足以下条件之一,就会发生此错误:客户端未安装防火墙.
InternetExplorer中的Web代理配置不正确.
避免此问题的方法如下:安装防火墙客户端软件,如ISA客户端.
修改InternetExplorer中的Web代理连接设置,以跳过用于本地地址的代理服务器.
13.
2.
5不能使用静态文件在网站中,静态文件(如图像和样式表)受到ASP.
NET授权规则的影响.
例如,如果禁用了对静态文件的匿名访问,匿名用户则不能使用网站中的静态文件,但是,将网站部署到运行IIS的服务器时,IIS将提供静态文件而不使用授权规则.

13.
3异常处理语句在ASP.
NET程序中,可以使用异常处理语句处理异常.
常用的异常处理语句有throw、try…catch和try…catch…finally语句,通过这3种异常处理语句,可以对可能产生异常的程序代码进行监控.
下面将对这3种异常处理语句进行详细讲解.

13.
3.
1使用throw语句抛出异常throw语句用于主动引发一个异常,即在特定的情形下自动抛出异常.
throw语句的基本格式如下:throwExObject参数ExObject表示所要抛出的异常对象,这个异常对象是派生自System.
Exception类的对象.

【例13.
1】使用throw语句抛出异常.
(示例位置:TM\sl\13\01)程序实现的主要步骤如下.
新建一个网站,默认主页为Default.
aspx.
在Default.
aspx的Page_Load事件中,创建一个int类型的方法MyInt,该方法有两个int类型的参数a和b,其中a为分子,b为分母.
如果分母的值是0,则通过throw语句抛出DivideByZeroException异常.
代码如下:publicintMyInt(inta,intb)//创建一个int类型的方法,参数分别是a和b{intnum;声明一个int类型的变量numif(b==0)判断b是否等于0,如果等于0,抛出异常{thrownewDivideByZeroException();//抛出DivideByZeroException类的异常return0;}else{num=a/b;计算a除以b的值returnnum;返回计算结果}}protectedvoidPage_Load(objectsender,EventArgse){//调用test类中的MyInt方法计算两个数的商Response.
Write("分子除以分母的值:"+MyInt(298,0));}运行以上程序,因为要计算的数值的分母为0,所以程序出错,错误信息如图13.
13所示.

图13.
13分母为0的错误信息13.
3.
2使用try…catch语句捕捉异常try…catch语句允许在try后面的大括号{}中放置可能发生异常情况的程序代码,并对这些程序代码进行监控,而catch后面的大括号{}中则放置处理错误的程序代码,以处理程序发生的异常.
try…catch语句的基本格式如下:try{…//被监控的代码}catch(异常类名异常变量名){…//异常处理}【例13.
2】使用try…catch语句捕捉异常.
(示例位置:TM\sl\13\02)程序实现的主要步骤如下.
新建一个网站,默认主页为Default.
aspx.
在Default.
aspx的Page_Load事件中声明一个object类型的变量obj,其初始值为null,然后将obj强制转换成int类型赋给int类型变量N,使用try…catch语句捕获异常.
代码如下:protectedvoidPage_Load(objectsender,EventArgse){try//使用try…catch语句{objectobj=null;//声明一个object变量,初始值为nullintN=(int)obj;//将object类型强制转换成int类型}catch(Exceptionex)//捕获异常{Response.
Write("捕获异常:"+ex);//输出异常}}实例运行效果如图13.
14所示.
图13.
14使用try…catch语句捕捉异常13.
3.
3使用try…catch…finally语句捕捉异常将finally语句与try…catch语句结合,可以形成try…catch…finally语句.
finally语句同样以区块的方式存在,它被放在所有try…catch语句的最后面,程序执行完毕,最后都会跳到finally语句区块,执行其中的代码.
其基本格式如下:try{…//被监控的代码}catch(异常类名异常变量名){…//异常处理}…finally{…//程序代码}【例13.
3】使用try…catch…finally语句捕捉异常.
(示例位置:TM\sl\13\03)程序实现的主要步骤如下:新建一个网站,默认主页为Default.
aspx.
在Default.
aspx的Page_Load事件中,声明一个string类型变量str,并初始化为"ASP.
NET编程词典";然后声明一个object变量obj,将str赋给obj;再声明一个int类型的变量i,将obj强制转换成int类型后赋给变量i,这样必然会导致转换错误,抛出异常;最后在finally语句中输出"程序执行完毕…",这样无论程序是否抛出异常,都会执行finally语句中的代码.
代码如下:protectedvoidPage_Load(objectsender,EventArgse){stringstr="ASP.
NET编程词典";//声明一个string类型的变量strobjectobj=str;声明一个object类型的变量objtry//使用try…catch语句{inti=(int)obj;//将obj强制转换成int类型}catch(Exceptionex)//获取异常{Response.
Write(ex.
Message);//输出异常信息}finally//finally语句{Response.
Write("程序执行完毕.
输出"程序执行完毕…"}}实例运行效果如图13.
15所示.
图13.
15使用try…catch…finally语句捕捉异常13.
4实践与练习开发数据库管理系统时,如果不对数据库连接异常进行处理,将会出现很多错误,例如数据库服务器没有开启、用户名或密码错误等,而这些未知的错误将会给用户造成软件不可用这样的误解.
这里要求使用异常处理语句捕获程序中的数据库连接异常.

星梦云:四川100G高防4H4G10M月付仅60元

星梦云怎么样?星梦云资质齐全,IDC/ISP均有,从星梦云这边租的服务器均可以备案,属于一手资源,高防机柜、大带宽、高防IP业务,一手整C IP段,四川电信,星梦云专注四川高防服务器,成都服务器,雅安服务器。星梦云目前夏日云服务器促销,四川100G高防4H4G10M月付仅60元;西南高防月付特价活动,续费同价,买到就是赚到!点击进入:星梦云官方网站地址1、成都电信年中活动机(成都电信优化线路,封锁...

Vultr再次发布充值多少送多少活动

昨天我们很多小伙伴们应该都有看到,包括有隔壁的一些博主们都有发布Vultr商家新的新用户注册福利活动。以前是有赠送100美元有效期30天的,这次改成有效期14天。早年才开始的时候有效期是60天的,这个是商家行为,主要还是吸引到我们后续的充值使用,毕竟他们的体验金赠送,在同类商家中算是比较大方的。昨天活动内容:重新调整Vultr新注册用户赠送100美元奖励金有效期14天今天早上群里的朋友告诉我,两年...

简单测评v5.net的美国cn2云服务器:电信双程cn2+联通AS9929+移动直连

v5.net一直做独立服务器这块儿的,自从推出云服务器(VPS)以来站长一直还没有关注过,在网友的提醒下弄了个6G内存、2核、100G SSD的美国云服务器来写测评,主机测评给大家趟雷,让你知道v5.net的美国云服务器效果怎么样。本次测评数据仅供参考,有兴趣的还是亲自测试吧! 官方网站:https://v5.net/cloud.html 从显示来看CPU是e5-2660(2.2GHz主频),...

错误代码0xc004e003为你推荐
会声会影12下载谁有免费的会声会影12的素材下载地址给俺发个!要没有毒的,谢谢咧!站长故事爱迪生的故事简体翻译成繁体简体字怎么换成繁体。。?中国论坛大全中国十大网站是?网店推广网站怎么免费推广淘宝店铺?iphone越狱后怎么恢复已经越狱的iphone怎么恢复到原来的系统天天酷跑刷金币天天酷跑怎么刷金币?神雕侠侣礼包大全神雕侠侣手游华山论剑礼包有什么 怎么领取xp系统停止服务XP系统停止服务后怎么办?xp系统停止服务XP系统为什么要停止服务?
汉邦高科域名注册 日本软银 主机评测 59.99美元 nerd 60g硬盘 ubuntu更新源 双线主机 空间合租 国外免费asp空间 个人免费主页 网页提速 备案空间 百度云加速 免费ftp 大化网 七牛云存储 789电视剧网 网站防护 数据湾 更多