做了一个计算器程序,c#通过调用c++封装的dll库来实现功能,但出现非法输入会有debug as

做了一个计算器程序,c#通过调用c++封装的dll库来实现功能,但出现非法输入会有debugassertionfailed,请问怎么拦截这个错误并用自定义的对话框提示用户... 做了一个计算器程序,c#通过调用c++封装的dll库来实现功能,但出现非法输入会有debug assertion failed,请问怎么拦截这个错误并用自定义的对话框提示用户,是需要修改dll中函数还是c#调用的方式 展开
 我来答
落叶l无情
2015-03-19 · TA获得超过1417个赞
知道大有可为答主
回答量:1372
采纳率:0%
帮助的人:1413万
展开全部
1,、在c#中先判断输入,然后传递给dll(假设你是这种方式)
2、在c#调用dll函数时用try catch 来截获错误
3、如果有dll源码的话,直接改dll,判断输入
更多追问追答
追问
catch应该怎么写?
追答
try{
//这里调用dll

}
catch(e)
{
MessageBox.Show(e.message) //先看看错误信息
if(e.message=="xxx") //判断错误信息,或者不判断,屏蔽全部错误,输出自己的错误提示

MessageBox.Show("xxxx")
...

}
楼主_回头是岸
2015-03-19 · TA获得超过724个赞
知道小有建树答主
回答量:799
采纳率:53%
帮助的人:316万
展开全部
在输入的时候限制啦
自己屏蔽掉特殊符号和字幕 或者 只准数字和()+-/*
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.A)//当你在文本框按下A的时候 文本框不显示
{
e.SuppressKeyPress = false;//屏蔽掉了
}
}
更多追问追答
追问
可以拦截吗
追答
e.SuppressKeyPress = true;//true才是拦截
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式