1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 24 // MARKER(update_precomp.py): autogen include statement, do not remove 25 #include "precompiled_shell.hxx" 26 #include "internal/global.hxx" 27 #include "zipexcptn.hxx" 28 29 //------------------------------------------ 30 /** 31 */ 32 RuntimeException::RuntimeException(int Error) : 33 m_Error(Error) 34 { 35 } 36 37 //------------------------------------------ 38 /** 39 */ 40 RuntimeException::~RuntimeException() throw() 41 { 42 } 43 44 //------------------------------------------ 45 /** 46 */ 47 int RuntimeException::GetErrorCode() const 48 { 49 return m_Error; 50 } 51 52 //------------------------------------------ 53 /** 54 */ 55 ZipException::ZipException(int Error) : 56 RuntimeException(Error) 57 { 58 } 59 60 //------------------------------------------ 61 /** 62 */ 63 const char* ZipException::what() const throw() 64 { 65 return 0; 66 } 67 68 //------------------------------------------ 69 /** 70 */ 71 Win32Exception::Win32Exception(int Error) : 72 RuntimeException(Error), 73 m_MsgBuff(0) 74 { 75 } 76 77 //------------------------------------------ 78 /** 79 */ 80 Win32Exception::~Win32Exception() throw() 81 { 82 #ifndef OS2 83 if (m_MsgBuff) 84 LocalFree(m_MsgBuff); 85 #endif 86 } 87 88 //------------------------------------------ 89 /** 90 */ 91 const char* Win32Exception::what() const throw() 92 { 93 #ifdef OS2 94 return "Win32Exception!"; 95 #else 96 FormatMessage( 97 FORMAT_MESSAGE_ALLOCATE_BUFFER | 98 FORMAT_MESSAGE_FROM_SYSTEM | 99 FORMAT_MESSAGE_IGNORE_INSERTS, 100 NULL, 101 GetErrorCode(), 102 MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language 103 (LPTSTR) &m_MsgBuff, 104 0, 105 NULL); 106 107 return reinterpret_cast<char*>(m_MsgBuff); 108 #endif 109 } 110 111 //------------------------------------------ 112 /** 113 */ 114 ZipContentMissException::ZipContentMissException(int Error) : 115 ZipException(Error) 116 { 117 } 118 119 //------------------------------------------ 120 /** 121 */ 122 AccessViolationException::AccessViolationException(int Error) : 123 Win32Exception(Error) 124 { 125 } 126 127 //------------------------------------------ 128 /** 129 */ 130 IOException::IOException(int Error) : 131 Win32Exception(Error) 132 { 133 } 134