Hao*_*Hao 15 exception winforms
这是Winforms中的错误吗?(在VS2008和VS2010上测试)
private void Form1_Load(object sender, EventArgs e)
{
throw new Exception("Hey");
}
Run Code Online (Sandbox Code Playgroud)
我没有在那段代码中收到任何错误,前一段时间,我正在尝试为这个问题制定解决方案从一个字符串中解析一个数字,其中包含非数字
我在Form1_Load中执行此代码:
private void Form1_Load(object sender, EventArgs e)
{
MessageBox.Show("X");
string s = "12ACD";
string t = s.ToCharArray().TakeWhile(c => char.IsDigit(c)).ToArray().ToString();
MessageBox.Show("Y");
int n = int.Parse(t);
MessageBox.Show(n.ToString());
}
Run Code Online (Sandbox Code Playgroud)
我想知道为什么它没有显示数字.然后将代码移动到button1_Click ...
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("X");
string s = "12ACD";
string t = s.ToCharArray().TakeWhile(c => char.IsDigit(c)).ToArray().ToString();
MessageBox.Show("Y");
int n = int.Parse(t);
MessageBox.Show(n.ToString());
}
Run Code Online (Sandbox Code Playgroud)
...然后我注意到有一个错误:输入字符串的格式不正确.
为什么Form1_Load没有捕获任何异常,为什么它会默默地失败?代码刚刚退出form1_load at string t = s.ToCharArray().TakeWhile ...
请参阅:OnLoad异常消失的情况.它是按设计进行的(尽管极其愚蠢的设计,IMO).您的异常是在展开堆栈期间遇到内核模式边界.如果可以,切换到其他一些事件,或者不要让异常逃脱; 如果你期望你的调试器在OnLoad上自动中断未处理的异常,这没有用.
如果你关心,我在这个答案中写了更多.
| 归档时间: |
|
| 查看次数: |
6170 次 |
| 最近记录: |