Lecture Notes for Advanced Programming II

10 February 2004 - Exceptions


As with non-class types, the exception type can be specified as a reference to an ancestor type:

$ cat t.cc
#include <iostream>

struct red { };
struct mauve : red { };
 
int 
main() {
  try { throw mauve(); }
  catch (red) { std::cout << "caught a red.\n"; }

  try { throw mauve(); }
  catch (red &) { std::cout << "caught a red ref.\n"; }
  }

$ g++ -o t -ansi -pedantic t.cc

$ ./t
caught a red.
caught a red ref.

$ CC -o t t.cc

$ ./t
caught a red.
caught a red ref.

$ 


This page last modified on 14 February 2004.