| 35 | |
| 36 | |
| 37 | void ErrorHandler::CloseError(const wchar *FileName) |
| 38 | { |
| 39 | if (!UserBreak) |
| 40 | { |
| 41 | uiMsg(UIERROR_FILECLOSE,FileName); |
| 42 | SysErrMsg(); |
| 43 | } |
| 44 | // We must not call Exit and throw an exception here, because this function |
| 45 | // is called from File object destructor and can be invoked when stack |
| 46 | // unwinding while handling another exception. Throwing a new exception |
| 47 | // when stack unwinding is prohibited and terminates a program. |
| 48 | // If necessary, we can check std::uncaught_exception() before throw. |
| 49 | SetErrorCode(RARX_FATAL); |
| 50 | } |
| 51 | |
| 52 | |
| 53 | void ErrorHandler::ReadError(const wchar *FileName) |