I'm a student in the process of learning C, I am trying to make a user defined exception class. I watched a few videos and read a few tutorials and ended up with this program. However every time I try to run the program and throw the exception the program closes and I get the fallowing message with the option to change some settings.
Unhandled exception at 0x75BF1812 in EC1.exe: Microsoft C++ exception: FileNotFound at memory location 0x0073F4BC. occurred
I tried to look up this message but I didn't find anything. Any advice on how to move forward or what I am doing wrong would be greatly appreciated.
#include <iostream>
#include <fstream> 
#include <iomanip>
#include <string>
class FileNotFound : public std::exception
{
public:
    const char* what()
    {
        return ("Exception: File not found.\n");
    }
};
const int NO_OF_COMPUTES = 2;
struct computerType
{
    std::string cID;
    std::string manufacturer;
    std::string name;
    std::string cpuSpeed;
    int ramSize;
    double price;
};
void getComputer(std::ifstream& infile);
/*void writeComputer(ofstream& outfile, computerType list[],
    int listSize);*/
int main()
{
    std::ifstream infile;    //input file stream variable
    std::ofstream outfile;   //output file stream variable
    std::string inputFile;   //variable to hold the input file name
    std::string outputFile;  //variable to hold the output file name
    computerType computerTypeList[NO_OF_COMPUTES];
    std::cout << "Enter the input file name: "; 
    std::cin >> inputFile;                               
    std::cout << std::endl;
    infile.open(inputFile.c_str());                 
    if (!infile)
    {
        FileNotFound a;
        throw a;
    }
    getComputer(infile);
    infile.close();                                 
    outfile.close();                              
    system("pause");
    return 0;
}
void getComputer(std::ifstream& infile)
{
    int index;
    std::string cID;
    std::string manufacturer;
    std::string name;
    std::string cpuSpeed;
    int ramSize;
    double price;
    infile >> cID;
    while (infile)
    {
        infile >> manufacturer >> name >> cpuSpeed >> price;
        std::cout << cID << " " << manufacturer << " " << name << " " << cpuSpeed << " " << price;
        infile >> cID;
    }
}
 
     
    