CPlusPlusThings/practical_exercises/10_day_practice/day9/exception/9-2.cpp

28 lines
642 B
C++

#include <iostream>
using namespace std;
class BasicException {
public:
virtual string Where() { return "BasicException..."; }
};
class FileSysException : public BasicException {
public:
virtual string Where() { return "FileSysException..."; }
};
class FileNotFound : public FileSysException {
public:
virtual string Where() { return "FileNotFound..."; }
};
class DiskNotFound : public FileSysException {
public:
virtual string Where() { return "DiskNotFound..."; }
};
int main() {
try {
// ..... //程序代码
DiskNotFound err;
throw &err;
} catch (BasicException *p) {
cout << p->Where() << endl;
}
}