|         |      1 /* | 
|         |      2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). | 
|         |      3 * All rights reserved. | 
|         |      4 * This component and the accompanying materials are made available | 
|         |      5 * under the terms of the License "Eclipse Public License v1.0" | 
|         |      6 * which accompanies this distribution, and is available | 
|         |      7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". | 
|         |      8 * | 
|         |      9 * Initial Contributors: | 
|         |     10 * Nokia Corporation - initial contribution. | 
|         |     11 * | 
|         |     12 * Contributors: | 
|         |     13 * | 
|         |     14 * Description: | 
|         |     15 * | 
|         |     16 */ | 
|         |     17  | 
|         |     18 #include <e32std.h> | 
|         |     19  | 
|         |     20 class MySecondException { | 
|         |     21 public: | 
|         |     22   MySecondException(){}; | 
|         |     23   MySecondException(int x) { iVal = x; }; | 
|         |     24   int iVal; | 
|         |     25 }; | 
|         |     26  | 
|         |     27 IMPORT_C int thrower2 (int x); | 
|         |     28  | 
|         |     29  | 
|         |     30 class MyThirdException : public MySecondException { | 
|         |     31 public: | 
|         |     32   MyThirdException(){}; | 
|         |     33   MyThirdException(int x) { iVal = x; iVal1 = x+1;}; | 
|         |     34   int iVal1; | 
|         |     35 }; | 
|         |     36  | 
|         |     37 IMPORT_C int thrower3 (int x); | 
|         |     38  | 
|         |     39 NONSHARABLE_CLASS(VB1) : virtual public MySecondException {}; | 
|         |     40 NONSHARABLE_CLASS(VB2) : virtual public MySecondException {}; | 
|         |     41  | 
|         |     42 class MyFourthException : public VB1 , public VB2 { | 
|         |     43 public: | 
|         |     44   MyFourthException(int x) { iVal = x; iVal2=x+2;}; | 
|         |     45   int iVal2; | 
|         |     46 }; | 
|         |     47  | 
|         |     48 IMPORT_C int thrower4 (int x); | 
|         |     49  | 
|         |     50 class B1 { | 
|         |     51  public: | 
|         |     52   B1(int x): iX(x){} | 
|         |     53   int iX; | 
|         |     54 }; | 
|         |     55  | 
|         |     56 class MyFifthException : public MySecondException, public B1 { | 
|         |     57  public: | 
|         |     58   MyFifthException(int x): MySecondException(x), B1(x){} | 
|         |     59 }; | 
|         |     60  | 
|         |     61 IMPORT_C int thrower5 (int x); | 
|         |     62  | 
|         |     63 class UncaughtTester { | 
|         |     64 public: | 
|         |     65   IMPORT_C UncaughtTester(TInt & x); | 
|         |     66   IMPORT_C ~UncaughtTester(); | 
|         |     67   TInt & aInt; | 
|         |     68 }; |