如何获得.net捕获不到的异常

来源:互联网 发布:阿里菜鸟云仓 编辑:程序博客网 时间:2024/06/10 06:01

路过的高手请指教:如何能做一个.net捕获不到的异常?我想要的是catch捕获不到的一场

如果楼主能实现的话,那将是VS推出之来最大的bug

有的时候非托管的代码引发的异常,托管代码下的try..catch是捕获不到的。。。

只要能看到黄页,那就是说明已经被 .NET 捕获了!

肯定能捕捉的到,除非是error,但是error都有办法捕捉,不过很难!

我想把lblTemp的事件转移到自定义控件上来,用下面语句时提示“System.Windows.Forms..Click”只能出现在 += 或 -= 的左边”

上面的代码就能通过了???这是为什么?自定义的事件和本身的事件有啥区别?
我就想直接转移到本身的Click事件上,为什么不行呢?要怎么做?

你要搞清楚,事件和事件处理函数的区别啊
Click是事件,lblTemp_Click是事件处理函数,你在事件处理函数里调用事件?

我只是觉得本身有Click这个事件,我再定义一个没必要,就想直接用

自定义的事件和本身的事件 都是事件,关键字是event,其实质就是委托。
你的第一段代码中,this.Click这是个事件,并非方法,所以你把它当方法用当然不行了。

你还是没明白我的意思,lblTemp实际上是自定义控件中的一个标签,当这个标签被单击时,激发我这个自定义控件的Click事件。

这样写就行,我写的事件和本身自带的事件有什么不一样么?

上面的两个代码,一个可以用this.Click,一个不可以,一个是自定义,一个是自带的。

我想问的是这个意思,为什么没一个人明白呢?我定义的Click事件,和自定义控件本身的Click事件,一个可以,一个不可以

第一份代码的this.Click(this,e); 是要给this这个对象赋上Click事件的处理函数
第二份代码的Click是属于类的,当你clickEvent(this, e);时,其实时调用第一份代码的处理函数
为什么第一份代码错误,第二份代码可以,我认为还是类、对象、事件、事件处理函数的关系
例如:窗体上有两个按钮:Button1、Button2
两个按钮都肯定有Click事件,但他们的处理函数都不一样,所以要使用
那么,他们的Clici事件是什么触发的,就是在Button类内部调用的,相当于你的第二份代码
还是不明白,13楼我的表述比较清楚了。同样是Click事件,一个是我定义的,一个是微软定义的,难道不一样么

这里的Click又是不是事件?我知道这里这个事件是覆盖了原来的Click,所以我才疑惑,一个是原来的,一个我是新写的覆盖的。
如果两个都是事件,为什么一个可以用this.Click这样的形式,一个不可以。
你看我这两份代码,除了一个是系统中的EventHandler,一个是我定义的委托ClickEventHandler。其他都一样。为什么会一个可以,一个不可以好热闹的帖,呵呵
很奇怪,这种问题为何不充分利用手里的资料去学习一下,免得惊动这么多好心人给你解释,你还不一定明白,解释的也不一定对

还没理解过来啊,这种问题只能靠自己顿悟了,一句话:
微软提供的自带的Click,是要用户把函数传进去,所以要使用+=
而你自己定义的Click,是要提供外部使用的(在外部仍然要使用+=),但在内部是要调用传进来的函数,所以可以使用

也就是说,Click只能在内部用this.click()这样的方式使用。而在外部就会出错

定义了托管(delegate)就是给别的class用的,用的时候,绑定到某个动作上就可以了。
动作托管绑定: 某动作+= 自定义的EventHandler

来源:足球直播