我怎么看都是只选c,非官方答案是ac

解决方案 »

  1.   

    这种东西,试一下就知道了
    try不可以单独使用,测试通不过的,会提示错误信息
    c怎么错了,c是正确的,异常是可以自定义的答案是:a,只有a是错误的
      

  2.   

    设计自定义异常
    http://msdn.microsoft.com/zh-cn/library/ms229064.aspx
      

  3.   

    a错,可以try{}finally{}不一定要catch{}
    c怎么说都是对的,不用说throw new UserException();了,
    就算是单独的一个throw;也可以引发catch到的UserException
      

  4.   

    如果 Try 语句不包含至少一个 Catch 块,它必须包含 Finally 块。
    try不能收发系统异常!只能是设计都有意或无意的异常!
    所以选项为ac
      

  5.   

    答案a:必须跟catch吗?跟finally算不?
    try
    { }
    finally
    { }答案b:“错误 CS1017: Try 语句已经有了空的 catch 块”编译不过。
    try
    { }
    catch
    { }
    catch
    { }答案c:编译没问题!可以引发。class MyException : Exception
    {
        public MyException() : base("Zswang 路过")
        {    }
    }
    private void button1_Click(object sender, EventArgs e)
    {
        throw new MyException();
    }答案d:
    try
    {
        int i = 0;
        i = 1 / i;
        return;
    }
    catch
    {
        Console.WriteLine("catch");
        return;
    }
    finally
    {
        Console.WriteLine("finally");
    }
     说明即便执行“return;”语句也跳不出finally的五指山。如果没有理解错的话,答案是:A、B
      

  6.   

    确实
    try_catch_ordering_catch_clauses.cs
    using System;
    class MainClass
    {
        static void ProcessString(string s)
        {
            if (s == null)
            {
                throw new ArgumentNullException();
            }
        }    static void Main()
        {
            try
            {
                string s = null;
                ProcessString(s);
            }
            // Most specific:
            catch (ArgumentNullException e)
            {
                Console.WriteLine("{0} First exception caught.", e);
            }
            // Least specific:
            catch (Exception e)
            {
                Console.WriteLine("{0} Second exception caught.", e);
            }
        }
    }