Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在.NET中,是否可以在事件处理程序中应用try-catch?_C#_.net_Visual Studio 2010_Fingerprint - Fatal编程技术网

C# 在.NET中,是否可以在事件处理程序中应用try-catch?

C# 在.NET中,是否可以在事件处理程序中应用try-catch?,c#,.net,visual-studio-2010,fingerprint,C#,.net,Visual Studio 2010,Fingerprint,我正在创建一个基于指纹识别的系统,基于这个原因,我正在使用DigitalPersona做一个windows服务,这是一个指纹阅读器 这个读者有很多方法,比如onfingergo、OnFingerTouch和其他方法。此方法是在触摸指纹读取器时触发的事件。 在那之前一切都很顺利。但当没有活动时。。。。(我的意思是当指纹读取器未被触摸时)在控制台中抛出错误 “进程已退出,代码为0” 请帮忙 一些细节: -使用Visual Studio 2010.Net 4时,错误代码为0表示没有错误 使用事件(on

我正在创建一个基于指纹识别的系统,基于这个原因,我正在使用DigitalPersona做一个windows服务,这是一个指纹阅读器

这个读者有很多方法,比如onfingergo、OnFingerTouch和其他方法。此方法是在触摸指纹读取器时触发的事件。 在那之前一切都很顺利。但当没有活动时。。。。(我的意思是当指纹读取器未被触摸时)在控制台中抛出错误

“进程已退出,代码为0”

请帮忙

一些细节:
-使用Visual Studio 2010.Net 4时,错误代码为0表示没有错误

使用事件(onfingergo、OnFingerTouch)意味着您的应用程序需要等待它们。“进程以代码0退出”通常意味着控制台应用程序的主线程(?)已完成,或者WPF、WinForms等应用程序调用了类似这样的.application.Close()

例如:

class Pseudocode {
    event EventHandler myEvent;

    int main(){
        myEvent += onMyEvent;
        //do work 1
        return 0;
    }

    void onMyEvent(Object sender, EventArgs e){
       //do work 2
    }
    //other methods and work
}
若main()中的工作量很小,应用程序将立即关闭

在控制台应用程序中,您可以通过添加console.ReadLine()来防止这种情况;(在返回0之前;根据示例),因此您的应用程序将等待“Enter”键


在窗口应用程序中,您需要查找手动退出调用或类似的内容,因为它们不被称为“自动关闭”。

请显示相关代码。是的,可以在事件处理程序中使用try-catch,它与方法没有什么不同。是否调试过哪个方法引发异常?当然可以。但我认为这不是问题所在,因为您将得到一个未处理的异常,而不是代码为0的退出。听起来您的应用程序可能会正常结束。通常,*方法上的
是引发事件的代码,而不是事件处理程序。但我不知道这是否会改变什么。我们需要感谢你的回答,塞拉尔。。。没有相关的代码,因为我使用的是SDK,这些事件背后的代码是从和接口调用的……谢谢Rawnald Gregory。。。。但是我看不到事件的实例化位置,因为它是一个SDK…并且它的方法是通过一个接口显示的。