zoukankan      html  css  js  c++  java
  • 异步调用方法时异常的捕获

    在异步调用一个方法时,由于不在一个线程内,异常的处理不同于普通同步调用,但可以在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();
    }
  • 相关阅读:
    Easyui 表格底部加合计
    jQuery设置checkbox 为选中状态
    HTML 列表中的dl,dt,dd,ul,li,ol区别
    jQuery的toggle事件
    EasyUI 的日期控件单击文本框显示日历
    HTML设置span宽度
    JQuery获取与设置select
    生命周期
    钩子函数
    组件
  • 原文地址:https://www.cnblogs.com/evlon/p/1397389.html
Copyright © 2011-2022 走看看