| 120 | } |
| 121 | |
| 122 | BOOST_FILESYSTEM_DECL const char* filesystem_error::what() const noexcept |
| 123 | { |
| 124 | if (m_imp_ptr.get()) try |
| 125 | { |
| 126 | if (m_imp_ptr->m_what.empty()) |
| 127 | { |
| 128 | m_imp_ptr->m_what = system::system_error::what(); |
| 129 | if (!m_imp_ptr->m_path1.empty()) |
| 130 | { |
| 131 | m_imp_ptr->m_what += ": \""; |
| 132 | m_imp_ptr->m_what += m_imp_ptr->m_path1.string(); |
| 133 | m_imp_ptr->m_what += "\""; |
| 134 | } |
| 135 | if (!m_imp_ptr->m_path2.empty()) |
| 136 | { |
| 137 | m_imp_ptr->m_what += ", \""; |
| 138 | m_imp_ptr->m_what += m_imp_ptr->m_path2.string(); |
| 139 | m_imp_ptr->m_what += "\""; |
| 140 | } |
| 141 | } |
| 142 | |
| 143 | return m_imp_ptr->m_what.c_str(); |
| 144 | } |
| 145 | catch (...) |
| 146 | { |
| 147 | m_imp_ptr->m_what.clear(); |
| 148 | } |
| 149 | |
| 150 | return system::system_error::what(); |
| 151 | } |
| 152 | |
| 153 | BOOST_FILESYSTEM_DECL path const& filesystem_error::get_empty_path() noexcept |
| 154 | { |