做了一个计算器程序,c#通过调用c++封装的dll库来实现功能,但出现非法输入会有debug as
做了一个计算器程序,c#通过调用c++封装的dll库来实现功能,但出现非法输入会有debugassertionfailed,请问怎么拦截这个错误并用自定义的对话框提示用户...
做了一个计算器程序,c#通过调用c++封装的dll库来实现功能,但出现非法输入会有debug assertion failed,请问怎么拦截这个错误并用自定义的对话框提示用户,是需要修改dll中函数还是c#调用的方式
展开
展开全部
1,、在c#中先判断输入,然后传递给dll(假设你是这种方式)
2、在c#调用dll函数时用try catch 来截获错误
3、如果有dll源码的话,直接改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")
...
}
展开全部
在输入的时候限制啦
自己屏蔽掉特殊符号和字幕 或者 只准数字和()+-/*
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.A)//当你在文本框按下A的时候 文本框不显示
{
e.SuppressKeyPress = false;//屏蔽掉了
}
}
自己屏蔽掉特殊符号和字幕 或者 只准数字和()+-/*
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.A)//当你在文本框按下A的时候 文本框不显示
{
e.SuppressKeyPress = false;//屏蔽掉了
}
}
更多追问追答
追问
可以拦截吗
追答
e.SuppressKeyPress = true;//true才是拦截
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询