none
捕获异常 ,不懂 RRS feed

  • 问题

  • class T
    {
    public:
        class xBoundary{};//这个是什么东西?请详细说明一下,谢谢。
        class xTooBig{};
        class xTooSmall{};
        ....
    };
    void main()
    {
        try
        {
            T object;
        }
        catch(T::xBoundary)//这个是什么东西?这样写可以捕获什么错误??和上面class xBoundary{}什么关系?
        {
        }
        catch(T::xTooBig)
        {
        }
        catch(T::xTooSmall)
        {
        }
    }<br/>希望微软论坛好心人帮帮小弟,谢谢你们。
    

    2011年9月23日 2:33

答案

  • catch(T::xBoundary)

    这句式说在try中,如果throw 了xBoundary。就会进入这个catch。

    具体xBoundary是什么要看xBoundary的定义。xBoundary可能会定义抛出异常的一些信息。


    麻烦把正确答案设为解答。
    • 已标记为答案 Rob Pan 2011年9月28日 8:35
    2011年9月23日 8:11
    版主
  • 根据你的代码应该是T的构造函数抛出了异常

    而xBoundary,xTooBig,xTooSmall标记了异常的类型

    • 已标记为答案 Rob Pan 2011年9月28日 8:35
    2011年9月26日 1:36

全部回复

  • catch(T::xBoundary)

    这句式说在try中,如果throw 了xBoundary。就会进入这个catch。

    具体xBoundary是什么要看xBoundary的定义。xBoundary可能会定义抛出异常的一些信息。


    麻烦把正确答案设为解答。
    • 已标记为答案 Rob Pan 2011年9月28日 8:35
    2011年9月23日 8:11
    版主
  • 根据你的代码应该是T的构造函数抛出了异常

    而xBoundary,xTooBig,xTooSmall标记了异常的类型

    • 已标记为答案 Rob Pan 2011年9月28日 8:35
    2011年9月26日 1:36