使用MSCOMM控件,若出现异常应该catch哪种异常?
try
{
m_Comm.SetPortOpen(TRUE);//打开串口
t.Format("%d,n,8,2",baud);
m_Comm.SetSettings(t);
m_Comm.SetRThreshold(1);
}
catch()
{
t.Format(_T("串口Com%d打开失败!"),port);
AfxMessageBox(t);
}
catch()里怎么写?
谢谢。
问题点数:0、回复次数:4Top
1 楼nktylm()回复于 2004-05-04 01:05:13 得分 0
如果实在不知道catch哪种异常,可以写成catch(...),可以捕获所有异常,至少保证程序不会异常退出。Top
2 楼lwglucky(才鸟)回复于 2004-05-05 14:07:29 得分 0
comerrTop
3 楼LuWei103(非计算机专业)回复于 2004-05-06 18:11:39 得分 0
m_MSComm.Create(NULL,style,CRect(0,0,0,0),this,IDC_MSCOMM1);
if(m_MSComm.GetPortOpen()) //如果串口是打开的,则行关闭串口
{
m_MSComm.SetPortOpen(FALSE);
}
m_MSComm.SetCommPort(1); //选择COM1
m_MSComm.SetInBufferSize(1024); //接收缓冲区
m_MSComm.SetOutBufferSize(1024);//发送缓冲区
m_MSComm.SetInputLen(0);//设置当前接收区数据长度为0,表示全部读取
m_MSComm.SetInputMode(1);//以二进制方式读写数据
m_MSComm.SetRThreshold(1);//接收缓冲区有1个及1个以上字符时,将引发接收数据的OnComm事件
m_MSComm.SetSettings("9600,n,8,1");//波特率9600无检验位,8个数据位,1个停止位
if(!m_MSComm.GetPortOpen())//如果串口没有打开则打开
m_MSComm.SetPortOpen(TRUE);//打开串口
else
m_MSComm.SetOutBufferCount(0);
Top
4 楼LuWei103(非计算机专业)回复于 2004-05-06 18:12:18 得分 0
我看了不少这个初始化的远码好象基本上没有异常破获的。 如上Top




