我正在寫一個類與std::regex
成員除外:趕上從類成員初始化「就地」
class aaa {
std::regex re {"aaabbb"};
public:
aaa() {}
...
};
的std::regex
可以拋出一個std::regex_error
如果傳入的字符串不是一個有效的正則表達式。在C++ 11/14中有沒有一種技術可以在類中捕獲這個異常?
與此類似:
class aaa {
std::regex re;
public:
aaa()
try
: re("aaabbb") {
}
catch(...) {
}
};
後一種方法有什麼問題?這是一個[完全可以接受的方式](https://stackoverflow.com/questions/160147/catching-exceptions-from-a-constructors-initializer-list)來捕捉異常。 – CoryKramer
@CoryKramer這不是他正在尋找的成員初始值設定項。 –
第二種方法是可以接受的,我只是想了解 - 新的標準允許在成員聲明中進行初始化,但是對於這種方式,不會執行任何異常處理的步驟? – amigo421