C#学习系列之异常处理
啰嗦
由于最近接手的项目是半完成的状态,在部件联调时,C#控制台时常会报很多错误,影响用户使用,而这些错误有时并不影响原有程序运行。为了优化用户体验感,发现抛出异常,可以不用弹出框,直接窗口显示。
简单复现程序
新建一个窗体程序,拉三个textbox控件和一个button控件
然后在窗口文件中写入一下程序:
private void button1_Click(object sender, EventArgs e)
{
try
{
byte age = Convert.ToByte(textBox1.Text);
textBox2.Text = Convert.ToByte(age).ToString();
}
catch (Exception ex)
{
textBox3.Text += ex.ToString();
}
}
其中,
textbox1
为输入数
textbox2
为显示输入数
textbox3
为异常信息
通常异常信息使用try catch
来捕捉,通过MessageBox.Show(ex.Message);
弹框来提示用户。
这里使用textBox3
来显示。
简单抛出异常演示
定义age
为一个字节,只能取0~255的大小,当textbox1
输入超过255,则会抛出异常。结果如下:
使用textBox3.Text += ex.ToString();
语句后,不会出现弹框:
网上提到的continue
在网上搜索,发现有人提议使用continue来忽视异常,但是程序直接不能运行了。不知道是不是自己写错了,如有错,请留言告知!
结论
异常捕捉采用try-catch,在不影响程序运行的情况下,使用窗口来显示异常,可继续执行程序。