stdexcept
上传用户:kellyonhid
上传日期:2013-10-12
资源大小:932k
文件大小:2k
源码类别:

3D图形编程

开发平台:

Visual C++

  1. /*
  2.  * Copyright (c) 1997
  3.  * Silicon Graphics Computer Systems, Inc.
  4.  *
  5.  * Permission to use, copy, modify, distribute and sell this software
  6.  * and its documentation for any purpose is hereby granted without fee,
  7.  * provided that the above copyright notice appear in all copies and
  8.  * that both that copyright notice and this permission notice appear
  9.  * in supporting documentation.  Silicon Graphics makes no
  10.  * representations about the suitability of this software for any
  11.  * purpose.  It is provided "as is" without express or implied warranty.
  12.  */ 
  13. #ifndef __SGI_STDEXCEPT
  14. #define __SGI_STDEXCEPT
  15. #include <exception>
  16. #include <stl_config.h>
  17. #if _MIPS_SIM != _ABIO32
  18. #include <stl_string_fwd.h>
  19. __STL_BEGIN_NAMESPACE
  20. class logic_error : public exception {
  21. public:
  22.   logic_error(const string& __s)
  23.     { _S_string_copy(__s, _M_name, _S_bufsize); }
  24.   const char* what() const __STL_NOTHROW { return _M_name; }
  25. private:
  26.   enum { _S_bufsize = 256 };
  27.   char _M_name[_S_bufsize];
  28. };
  29. class runtime_error : public exception {
  30. public:
  31.   runtime_error(const string& __s)
  32.     { _S_string_copy(__s, _M_name, _S_bufsize); }
  33.   const char* what() const __STL_NOTHROW { return _M_name; }
  34. private:
  35.   enum { _S_bufsize = 256 };
  36.   char _M_name[_S_bufsize];
  37. };
  38. class domain_error : public logic_error {
  39. public:
  40.   domain_error(const string& __arg) : logic_error(__arg) {}
  41. };
  42. class invalid_argument : public logic_error {
  43. public:
  44.   invalid_argument(const string& __arg) : logic_error(__arg) {}
  45. };
  46. class length_error : public logic_error {
  47. public:
  48.   length_error(const string& __arg) : logic_error(__arg) {}
  49. };
  50. class out_of_range : public logic_error {
  51. public:
  52.   out_of_range(const string& __arg) : logic_error(__arg) {}
  53. };
  54. class range_error : public runtime_error {
  55. public:
  56.   range_error(const string& __arg) : runtime_error(__arg) {}
  57. };
  58. class overflow_error : public runtime_error {
  59. public:
  60.   overflow_error(const string& __arg) : runtime_error(__arg) {}
  61. };
  62. class underflow_error : public runtime_error {
  63. public:
  64.   underflow_error(const string& __arg) : runtime_error(__arg) {}
  65. };
  66. __STL_END_NAMESPACE
  67. #ifndef __SGI_STL_STRING
  68. #include <string>
  69. #endif
  70. #endif /* Not o32 */
  71. #endif /* __SGI_STDEXCEPT */
  72. // Local Variables:
  73. // mode:C++
  74. // End: