coherence/lang/NoSuchElementException.hpp

00001 /*
00002 * NoSuchElementException.hpp
00003 *
00004 * Copyright 2001-2008 by Oracle. All rights reserved.
00005 *
00006 * Oracle is a registered trademarks of Oracle Corporation and/or its
00007 * affiliates.
00008 *
00009 * This software is the confidential and proprietary information of Oracle
00010 * Corporation. You shall not disclose such confidential and proprietary
00011 * information and shall use it only in accordance with the terms of the
00012 * license agreement you entered into with Oracle.
00013 *
00014 * This notice may not be removed or altered.
00015 */
00016 #ifndef COH_NO_SUCH_ELEMENT_EXCEPTION_HPP
00017 #define COH_NO_SUCH_ELEMENT_EXCEPTION_HPP
00018 
00019 #include "coherence/lang/compatibility.hpp"
00020 
00021 #include "coherence/lang/RuntimeException.hpp"
00022 #include "coherence/lang/String.hpp"
00023 
00024 COH_OPEN_NAMESPACE2(coherence,lang)
00025 
00026 
00027 /**
00028 * Thrown to indicate that a object is not found in the %cache/map/collection
00029 *
00030 * NoSuchElementExceptions should be caught this way:
00031 * @code
00032 * catch(NoSuchElementException::View nsee)
00033 * {
00034 * ...
00035 * }
00036 * @endcode
00037 */
00038 class COH_EXPORT NoSuchElementException
00039     : public throwable_spec<NoSuchElementException,
00040         extends<RuntimeException, std::logic_error> >
00041     {
00042     friend class factory<NoSuchElementException>;
00043 
00044     // ----- constructors ---------------------------------------------------
00045 
00046     protected:
00047         /**
00048         * Create an NoSuchElementException.
00049         *
00050         * @param vsMsg   the detail message
00051         * @param vCause  the underlying cause of the exception
00052         */
00053         NoSuchElementException(String::View vsMsg = String::NULL_STRING,
00054                 Exception::View vCause = NULL);
00055     };
00056 
00057 COH_CLOSE_NAMESPACE2
00058 
00059 #endif // COH_NO_SUCH_ELEMENT_EXCEPTION_HPP
Copyright (c) 2000-2008 Oracle. All rights reserved.