diff options
author | chai <chaifix@163.com> | 2019-06-06 00:12:17 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2019-06-06 00:12:17 +0800 |
commit | 8bfe54676f728076a92d802bb5d064e58265c8f2 (patch) | |
tree | 5d8ea1bd063f2d01dc979915db546449d68277bf /source/libs/asura-lib-utils/exceptions/exception.cpp | |
parent | 88b882ed0b432c6aff2063213e2f793a36dd25f7 (diff) |
-文件夹名
Diffstat (limited to 'source/libs/asura-lib-utils/exceptions/exception.cpp')
-rw-r--r-- | source/libs/asura-lib-utils/exceptions/exception.cpp | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/source/libs/asura-lib-utils/exceptions/exception.cpp b/source/libs/asura-lib-utils/exceptions/exception.cpp deleted file mode 100644 index dbb36ca..0000000 --- a/source/libs/asura-lib-utils/exceptions/exception.cpp +++ /dev/null @@ -1,47 +0,0 @@ -#include "Exception.h" - -#include <cstdarg> -#include <iostream> - -namespace AsuraEngine -{ - - Exception::Exception(const char *fmt, ...) - { - va_list args; - int size_buffer = 256, size_out; - char *buffer; - while (true) - { - buffer = new char[size_buffer]; - memset(buffer, 0, size_buffer); - - va_start(args, fmt); - size_out = vsnprintf(buffer, size_buffer, fmt, args); - va_end(args); - - // see http://perfec.to/vsnprintf/pasprintf.c - // if size_out ... - // == -1 --> output was truncated - // == size_buffer --> output was truncated - // == size_buffer-1 --> ambiguous, /may/ have been truncated - // > size_buffer --> output was truncated, and size_out - // bytes would have been written - if (size_out == size_buffer || size_out == -1 || size_out == size_buffer - 1) - size_buffer *= 2; - else if (size_out > size_buffer) - size_buffer = size_out + 2; // to avoid the ambiguous case - else - break; - - delete[] buffer; - } - message = std::string(buffer); - delete[] buffer; - } - - Exception::~Exception() throw() - { - } - -} |