我是靠谱客的博主 娇气黄蜂,这篇文章主要介绍异步调用方法时异常的捕获,现在分享给大家,希望可以做个参考。

在异步调用一个方法时,由于不在一个线程内,异常的处理不同于普通同步调用,但可以在EndXXX时,使用try{}catch{}来捕获。

public   static   void  main( string [] args)
{
    
string  errorMessage  =   " this is error message " ;
    Action
< int >  myWaiter  =  i  =>
    {
        Thread.Sleep(i);
        
        
// 抛出一个异常
         throw   new  ApplicationException(errorMessage);
    };
    
    myWaiter.BeginInvoke( ar 
=>
    {
        
try
        {
            
// 在这里捕获异常
            myWaiter.EndInvode(ar);
        }
        
catch (ApplicationException exp)
        {
            Debug.Assert(exp.Message 
==  errorMessage);
            Console.WriteLine(exp.ToString());
        }
    };
    
    Console.ReadKey();
}

最后

以上就是娇气黄蜂最近收集整理的关于异步调用方法时异常的捕获的全部内容,更多相关异步调用方法时异常内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部