Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/tests/except-1.c

    re9145a3 rfcc88a4  
    55#include <stdio.h>
    66
    7 #include "except-mac.h"
    8 TRIVIAL_EXCEPTION(yin)
    9 TRIVIAL_EXCEPTION(yang)
    10 
    117int main()
    128{
    139        try {
    14                 yin a;
    15                 THROW(&a);
     10                throw 3;
    1611        }
    17         catch( yin * err ) {
     12        catch( 3 ) {
    1813                printf("First Caught\n");
    1914                try {
    20                         yang b;
    21                         THROW(&b);
     15                        throw 4;
    2216                }
    23                 catch( yang * err ) {
     17                catch( 4 ) {
    2418                        printf("Both Caught\n");
    2519                }
     
    2923        try {
    3024                try {
    31                         yang c;
    32                         THROW(&c);
     25                        throw 2;
    3326                }
    34                 catch( yang * err ) {
     27                catch( 2 ) {
    3528                        printf("First Catch and rethrow\n");
    3629                        throw;
    3730                }
    3831        }
    39         catch( yang * err ) {
     32        catch( 2 ) {
    4033                printf("Second Catch\n");
    4134        }
     
    4437        try {
    4538                try {
    46                         yin d;
    47                         THROW(&d);
     39                        throw 5;
    4840                }
    49                 catch( yin * err ) {
     41                catch( 5 ) {
    5042                        printf("Throw before cleanup\n");
    51                         yang e;
    52                         THROW(&e);
     43                        throw 6;
    5344                }
    5445        }
    55         catch( yang * err ) {
     46        catch( 6 ) {
    5647                printf("Catch after cleanup\n");
    5748        }
     
    6051        try {
    6152                try {
    62                         yin f;
    63                         THROW(&f);
     53                        throw 7;
    6454                }
    65                 catch( yin * err ) {
     55                catch( 7 ) {
    6656                        printf("Caught initial throw.\n");
    6757                        try {
    68                                 yang g;
    69                                 THROW(&g);
     58                                throw 8;
    7059                        }
    71                         catch( yang * err ) {
     60                        catch( 8 ) {
    7261                                printf("Caught intermediate throw.\n");
    7362                        }
     
    7564                }
    7665        }
    77         catch( yin * err ) {
     66        catch( 7 ) {
    7867                printf("Caught final throw.\n");
    7968        }
Note: See TracChangeset for help on using the changeset viewer.