VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1635|回复: 5

组合类中的部分类,如果抛出异常,可以在哪捕捉到。

[复制链接]

1

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-1-11 00:20:01 | 显示全部楼层 |阅读模式
Class TPart1
   {
      void __fastcall Function_1( void )
      {
           const String Error_Str = "Error Of F1.";
           throw ( Error_Str );  
      }
    }

   Class TCombination
   {
        TCombination( );
        void __fastcall Act( void );
   }
  
   // *.h
   TPart1 *A_Part;

   TCombination::TCombination()
   {
        A_Part = new TPart1( );   
   }

   Combination::Act( void )
   {
        try
        {
             A_Part->Function_1( );   // 程序执行这一句之后,死掉了.   
        }
        catch( ... )
        {
                ShowMessage( "Errors Found." );
        }
    }

    // ??? 为什么.
    // 帖了好多次,也没有解决,有谁知道吗?
    // 多谢.
回复

使用道具 举报

0

主题

22

帖子

14.00

积分

新手上路

Rank: 1

积分
14.00
发表于 2020-1-14 18:27:01 | 显示全部楼层
你说的死掉了是什么意思?
回复

使用道具 举报

0

主题

22

帖子

14.00

积分

新手上路

Rank: 1

积分
14.00
发表于 2020-1-14 21:09:01 | 显示全部楼层
程序除去大小写以及函数声明等错误……
如果可以编译通过的话,是正确的。
回复

使用道具 举报

0

主题

18

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-1-24 18:00:02 | 显示全部楼层
帮你顶
回复

使用道具 举报

0

主题

13

帖子

12.00

积分

新手上路

Rank: 1

积分
12.00
发表于 2020-7-12 18:00:01 | 显示全部楼层
试了一下你的代码,没有问题
class TPart1
   {
   public:
          void __fastcall Function_1( void )
          {
                   const String Error_Str = "Error Of F1.";
                   throw ( Error_Str );
          }
        };

   class TCombination
   {
   public:
                TCombination( );
                void __fastcall Act( void );
   };

   // *.h
   TPart1 *A_Part;

   TCombination::TCombination()
   {
                A_Part = new TPart1( );
   }

   void __fastcall TCombination::Act( void )
   {
                try
                {
                         A_Part->Function_1( );   // 程序执行这一句之后,死掉了.
                }
                catch( ... )
                {
                                ShowMessage( "Errors Found." );
                }
        }
int main(int argc, char* argv[])
{
        TCombination c;
        c.Act();
        return 0;
}
回复

使用道具 举报

1

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
 楼主| 发表于 2020-9-2 13:30:01 | 显示全部楼层
   我的编译器有问题了。重装系统后可以。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表