07_Exceptions_Enums_Structs_and_Classes

07_Exceptions_Enums_Structs_and_Classes - Discussion 7:...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
Discussion 7: Exceptions, Enums, Structs, and Classes EECS 280 Monday, October 24th, 2011 1 Exceptions Exceptions allow you to check for and handle errors that occur in functions. They are composed of three parts: Try Blocks allow you to encapsulate code that may throw exceptions Throws used to raise an exception when an error occurs Catch Blocks let the program deal with encountered errors catch blocks can only follow try blocks. The code for try / catch blocks follows this form: 1 int foo (int num) { 2 try { 3 if (num > 0) 4 throw test; 5 else if (num < 0) 6 throw ' n ' ; 7 else 8 throw 3.14; 9 } 10 catch (int i) { // catches ints 11 cout << i << endl; 12 } 13 catch(char c) { // catches characters 14 cout << c << endl; 15 } 16 catch (. ..) { // catches here otherwise 17 cout << "other" << endl; 18 } 19 return 0; 20 } 1
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Thrown exceptions are passed up the stack until they are caught. If you don’t catch a throw before it escapes main() , your program will exit with an error. 2 Enums
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 04/07/2012 for the course EECS 280 taught by Professor Noble during the Fall '08 term at University of Michigan.

Page1 / 3

07_Exceptions_Enums_Structs_and_Classes - Discussion 7:...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online