zoukankan      html  css  js  c++  java
  • 委托的异常处理

    2008-06-30 00:27

    //如果一个未经处理的异常在一个多播委托中被引发,会发生什么事情呢?如果该委托在一个保护代码块
    //中被调用,异常将可以被捕获。直到异常发生,调用列表才会被调用,在调用列表随后的函数将不会被
    //执行。如果异常在一个异步执行的委托中被引发,情况可能会显得更复杂。在这样的情况下,异常是
    //在一个不同的线程中被引发。但是,运行时会将异常带回正在调用的线程。异常就像委托被同步调用到
    //一样
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Threading;

    namespace 委托的异常
    {
        public delegate void DelegateClass();
        class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine("Running on primary thread");
                try
                {
                    DelegateClass del = MethodA;
                    IAsyncResult ay= del.BeginInvoke(null,null);
                    del.EndInvoke(ay);
                }
                catch (Exception except)
                {
                    Console.WriteLine("running on a primary thread");
                    Console.WriteLine("exception caught:" + except.Message);
                }
            }
            public static void MethodA()
            {
                if (Thread.CurrentThread.IsThreadPoolThread == true)
                {
                    Console.WriteLine("running on a threadpool thread");
                }
                else
                {
                    Console.WriteLine("running on a primary thread");
                }
                throw new Exception("failure");
            }
        }
    }


    作者:玄魂
    出处:http://www.cnblogs.com/xuanhun/
    原文链接:http://www.cnblogs.com/xuanhun/ 更多内容,请访问我的个人站点 对编程,安全感兴趣的,加qq群:hacking-1群:303242737,hacking-2群:147098303,nw.js,electron交流群 313717550。
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    关注我:关注玄魂的微信公众号

  • 相关阅读:
    Ansible 的初步使用
    HBase 和 Hive 的差别是什么,各自适用在什么场景中?Spark SQL能做什么?
    spark安装配置
    scala安装配置
    Apache Spark 3.0.0重磅发布 —— 重要特性全面解析
    hbase的安装与配置(三台集群分布式)
    Flv的结构分析
    几种直播流媒体协议
    rtmp推送aac没有声音的问题记录
    c++中SetEvent和ResetEvent的使用
  • 原文地址:https://www.cnblogs.com/xuanhun/p/1662384.html
Copyright © 2011-2022 走看看