Где я могу разместить C ++ Custom Exception Code? - PullRequest
0 голосов
/ 27 сентября 2018

Я пишу пользовательское исключение для написанного мной класса, который генерирует случайные фразы.Я новичок в C ++, и мне интересно, если я должен поместить исключение в заголовочный файл Classes, в файл .cpp Classes или мне нужно разделить объявление и реализацию.

Eclipse дает мнеошибка в методе main (), которая гласит:

error: 'FileException' does not name a type
  } catch (FileException& e) {

Класс исключения выглядит следующим образом:

class FileException : public std::exception {   
    public:
        const char* what() {
            return "File Could not be opened.";
        }
    }FileException;

Любые мысли о проблеме будут высоко оценены, так как я очень застрял исмущенный.

Спасибо!

Редактировать: я должен также упомянуть, что я должен представить только 2 файла, файл .cpp для класса и файл .h

1 Ответ

0 голосов
/ 27 сентября 2018

Избавьтесь от переменной (она вам, вероятно, не нужна) или используйте разные имена для класса и переменной.

Объяснение:

class FileException : public std::exception {   

FileException - этоучебный класс.Здорово.

public:
    const char* what() {
        return "File Could not be opened.";
    }
}FileException;

, что последний бит определил переменную типа FileException с именем FileException, которая заменяет класс FileException.Это то же самое, что и определение

class FileException : public std::exception {   
public:
    const char* what() {
        return "File Could not be opened.";
    }
};
FileException FileException;

Идентификатор FileException теперь относится к переменной, и вы не можете ссылаться на класс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...