Exceptions

Video
 

you will create a menu driven main to call the functions in functions.h


Select Option (1-3)
1. PrintFile
2. Test StrToInt
3. Test StrToDbl
4. PrintFile (repeat till success)
5. Test IsBetween
6. Exit



each of the functions WILL throw exceptions if you pass them incorrect values

your job is write the catch blocks for the main for all of the exceptions.
at the end no matter what bad data you enter the only time the program should stop running is when you type 6 to exit



you will need ONE and ONLY ONE main try block with muliple catch blocks

put all of your logic to call the 4 functions  inside the single try block


your output should match that of the example with the exclusion that yours should have the actual data type of the exception instead of ???


IMPORTANT!!!!!

you will need to add your catch blocks one at a time.....
the code is there for  option 1, test it fully , once you put in a bad value.. ie ask it to open a file that does not exist it will exit and say there is a an uncought exception
then and ONLY then add a catch block for the exception type that causes the program to stop executing and that exception type ONLY


 once you have a catch block that works for case 1 and your output matches the example start working on case 2, when your program stops because of an uncough exeption in case 2
add a try block for that type of exception.


DO NOT just start adding catch blocks for random data types , if there is a unneeded catch block I will know you did not follow the directions and grade accordinly



 if running your code results in an un caught exception add a catch block for that type
when asked for a file name give it name of a file that does not exist .. set what the example does when you provide a gad file name


option 2 


make the output of your program match the example THE ONLY difference should be that yours should not have ??? , replace ??? with the type of exception .. string, const char *, int and so on 
try to convert  "dumpling", "55a", "5.5" and "55" 

option 3
make the output of your program match the example THE ONLY difference should be that yours should not have ??? 
try to convert  "dumpling", "55", "5.5.5" and "5.5" 



option 4 is slightly different  DO IT LAST
you will use a try and catch just for this call, your catch block will not have any code in it.. you want to ignore the bad filename exception and simply ask them to enter the filename again
you can use a while loop... while (true)  
it will loop forever until you put in a valid filename then it will print the file. if it cannot find the file it does not display an error
it simply asks you to type in the filename again
after you have successfully read the file you can use break to get out of the while loop




option 5
make the output of your program match the example THE ONLY difference should be that yours should not have ??? 
try with a low of 5 and high of 10... and try with i high of 5 and low of 10
a low of 10 and high of 5 is NOT a valid range and should trigger an exception