Index: src/ch/FilterTypesMenuWrapper.cpp
===================================================================
diff -u -rc88853d744d42c9d0d18d14f920190d535bb714a -rc07e41e04a167e935c75e5cbeccc11541a1f2908
--- src/ch/FilterTypesMenuWrapper.cpp	(.../FilterTypesMenuWrapper.cpp)	(revision c88853d744d42c9d0d18d14f920190d535bb714a)
+++ src/ch/FilterTypesMenuWrapper.cpp	(.../FilterTypesMenuWrapper.cpp)	(revision c07e41e04a167e935c75e5cbeccc11541a1f2908)
@@ -4,6 +4,7 @@
 #include "resource.h"
 #include "../libstring/TStringArray.h"
 #include <regex>
+#include "../libchcore/TCoreException.h"
 
 void FilterTypesMenuWrapper::Init()
 {
@@ -62,9 +63,13 @@
 	{
 		arrPattern.MatchesAny(chcore::PathFromString(L""));
 	}
-	catch(const std::regex_error& e)
+	catch(const chcore::TCoreException& e)
 	{
-		strMsg = e.what();
+		const size_t BufferSize = 8192;
+		wchar_t szData[BufferSize] = {};
+
+		e.GetErrorInfo(szData, BufferSize);
+		strMsg = szData;
 	}
 
 	if(!strMsg.IsEmpty())