zoukankan      html  css  js  c++  java
  • c# try..... catch

      功能说明:在此例中,try 块包含对可能导致异常的ProcessString()方法的调用.catch子句包含仅在屏幕上显示消息的异常处理程序,当从ProcessString内部调用throw语句时,系统查找Catch语句并显示Exception caught消息.

        class Try_Test1
        {
            static void processString(string s)
            {
                if (s == null)
                {
                    throw new ArgumentNullException();
                }

            }
            static void Main()
            {
                try
                {
                    string s = null;
                    processString(s);
                }
                catch (Exception e)
                {
                    Console.WriteLine("第二个异常被捕获{0}",e);
                }
                Console.ReadKey();
            }
        }

     此例使用了两个catch语句,最先出现的是最特定的异常被捕获.

     class Try_Test2
        {
            static void processString(string s)
            {
                if (s == null)
                {
                    throw new ArgumentNullException();
                }

            }
            static void Main()
            {
                try
                {
                    string s = null;
                    processString(s);
                }
                catch (ArgumentNullException e)
                {
                    Console.WriteLine("第一个异常被获{0}.", e);
                }
                catch (Exception e)
                {
                    Console.WriteLine("第二个异常被捕获{0}",e);
                }
                Console.ReadKey();
            }
        }

     //异常处理语句——try-finally使用

     //功能说明:在此例中,有一个导致异常的效转换语句,收到一条运行时的错误信息时,Finally语句块还是会执行.

        public class  Finally_Test1
        {
            static void Main()
            {
                int i = 123;
                string s = "string test";
                object o = s;
                try
                {
                    i = (int)o; //转换无效
                }
                catch (Exception e)
                {
                    Console.WriteLine("转换无效");

                }
                finally
                {
                    Console.WriteLine("i={0}", i);//但是finally还是最终会执行。
                }
                Console.ReadKey();
            }

  • 相关阅读:
    图片上传-下载-删除等图片管理的若干经验总结3-单一业务场景的完整解决方案
    图片上传-下载-删除等图片管理的若干经验总结2
    HDU 1195 Open the Lock
    HDU 1690 Bus System
    HDU 2647 Reward
    HDU 2680 Choose the best route
    HDU 1596 find the safest road
    POJ 1904 King's Quest
    CDOJ 889 Battle for Silver
    CDOJ 888 Absurdistan Roads
  • 原文地址:https://www.cnblogs.com/print/p/3389373.html
Copyright © 2011-2022 走看看