Convert.ToInt32(comboBoxCompany.SelectedValue);

来源:百度知道 编辑:UC知道 时间:2024/05/22 13:12:19
当comboBox.SelectValue为空时
try
{
Convert.ToInt32(comboBoxCompany.SelectedValue);
}
catch (Exception ex)
{
MessageBox.Show("请选择一个!" + ex.Message);
return;
}
为什么没有抛出异常

你这种风格是为了异常而去捕获异常,你明显知道comboBox.SelectValue为空
那你就应该改为
if(comboBox.SelectValue==null){
执行语句;
}else{
执行语句;
}
这种类型,一般异常明显知道就要自已用别的方法解决.
try{
object obj=comboBoxCompany.SelectedValue;
int i=Int32.Parse(obj);
}catch(Exception e){
MessageBox.Show("请选择一个!" + e.Message);
}

这是因为Convert做得比较坚固啊,总不是毛病吧
你若想让用户必选择一个,可以用
if(comboBoxCompany.SelectedValue==null)
MessageBox.Show......
上面说的对,异常不要用来代替分支语句。

没有任何选择时

comboBoxCompany.SelectedValue=-1

Convert.ToInt32(comboBoxCompany.SelectedValue); 当然不会抛错啦