上传cppreference
This commit is contained in:
401
web/cppreference-zh/chmhelp/c-error.html
Normal file
401
web/cppreference-zh/chmhelp/c-error.html
Normal file
@@ -0,0 +1,401 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh" dir="ltr" class="client-nojs" xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh">
|
||||
<head><meta http-equiv="x-ua-compatible" content="ie=edge">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>错误处理</title>
|
||||
<link rel="stylesheet" href="ext.css" />
|
||||
<link rel="stylesheet" href="site_modules.css" />
|
||||
</head>
|
||||
<body class="mediawiki ltr sitedir-ltr ns-0 ns-subject page-c_error skin-cppreference2 action-view cpp-navbar">
|
||||
<div id="cpp-content-base">
|
||||
<div id="content"><a id="top"></a>
|
||||
<h1 id="firstHeading" class="firstHeading">错误处理</h1>
|
||||
<div id="bodyContent">
|
||||
<div id="contentSub"><span class="subpages">< <a href="c.html">c</a></span></div>
|
||||
<div id="mw-content-text" lang="zh" dir="ltr" class="mw-content-ltr" xml:lang="zh">
|
||||
<h3><span class="mw-headline" id=".E9.94.99.E8.AF.AF.E5.8F.B7">错误号</span></h3>
|
||||
<table class="t-dsc-begin">
|
||||
<tr class="t-dsc-header">
|
||||
<td colspan="2">
|
||||
<div>定义于头文件 <code><errno.h></code></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="t-dsc">
|
||||
<td>
|
||||
<div class="t-dsc-member-div">
|
||||
<div><a href="c-error-errno.html"><span class="t-lines"><span>errno</span></span></a></div>
|
||||
</div>
|
||||
</td>
|
||||
<td>展开成 POSIX 兼容的线程局域错误编号变量<br />
|
||||
<span class="t-mark">(宏变量)</span></td>
|
||||
</tr>
|
||||
<tr class="t-dsc">
|
||||
<td>
|
||||
<div class="t-dsc-member-div">
|
||||
<div><a href="c-error-errno_macros.html"><span class="t-lines"><span>E2BIG, EACCES, ..., EXDEV</span></span></a></div>
|
||||
</div>
|
||||
</td>
|
||||
<td>标准 POSIX 兼容的错误条件宏<br />
|
||||
<span class="t-mark">(宏常量)</span></td>
|
||||
</tr>
|
||||
</table>
|
||||
<h3><span class="mw-headline" id=".E6.96.AD.E8.A8.80">断言</span></h3>
|
||||
<table class="t-dsc-begin">
|
||||
<tr class="t-dsc-header">
|
||||
<td colspan="2">
|
||||
<div>定义于头文件 <code><assert.h></code></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="t-dsc">
|
||||
<td>
|
||||
<div class="t-dsc-member-div">
|
||||
<div><a href="c-error-assert.html"><span class="t-lines"><span>assert</span></span></a></div>
|
||||
</div>
|
||||
</td>
|
||||
<td>若用户指定的条件非<span class="t-c"><span class="mw-geshi c source-c"><span class="kw2">true</span></span></span>,则异常终止程序。可以在发行版本禁用。<br />
|
||||
<span class="t-mark">(宏函数)</span></td>
|
||||
</tr>
|
||||
<tr class="t-dsc">
|
||||
<td>
|
||||
<div class="t-dsc-member-div">
|
||||
<div><a href="c-error-static_assert.html"><span class="t-lines"><span>static_assert</span></span></a></div>
|
||||
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c11">(C11)</span></span></span></div>
|
||||
</div>
|
||||
</td>
|
||||
<td>若常量表达式为假则发布编译诊断<br />
|
||||
<span class="t-mark">(关键词宏)</span></td>
|
||||
</tr>
|
||||
</table>
|
||||
<table class="t-rev-begin">
|
||||
<tr class="t-rev t-since-c11">
|
||||
<td>
|
||||
<h3><span class="mw-headline" id=".E8.BE.B9.E7.95.8C.E6.A3.80.E6.9F.A5">边界检查</span></h3>
|
||||
<p>标准库提供了一些既存函数的边界检查版本( <span class="t-lc"><a href="c-io-gets.html">gets_s</a></span> 、 <span class="t-lc"><a href="c-io-fopen.html">fopen_s</a></span> 、 <span class="t-lc"><a href="c-io-fprintf.html">printf_s</a></span> 、 <span class="t-lc"><a href="c-string-byte-strcpy.html">strcpy_s</a></span> 、 <span class="t-lc"><a href="c-string-wide-wcscpy.html">wcscpy_s</a></span> 、 <span class="t-lc"><a href="c-string-multibyte-mbstowcs.html">mbstowcs_s</a></span> 、 <span class="t-lc"><a href="c-algorithm-qsort.html">qsort_s</a></span> 、 <span class="t-lc"><a href="c-program-getenv.html">getenv_s</a></span> 等)。这些功能是可选的,并且仅若定义 <span class="t-c"><span class="mw-geshi c source-c">__STDC_LIB_EXT1__</span></span> 才可用。下列宏和函数支持此功能。</p>
|
||||
<table class="t-dsc-begin">
|
||||
<tr class="t-dsc-header">
|
||||
<td colspan="2">
|
||||
<div>定义于头文件 <code><errno.h></code></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="t-dsc-header">
|
||||
<td colspan="2">
|
||||
<div>定义于头文件 <code><stdio.h></code></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="t-dsc">
|
||||
<td>
|
||||
<div class="t-dsc-member-div">
|
||||
<div><span class="t-lines"><span>errno_t</span></span></div>
|
||||
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c11">(C11)</span></span></span></div>
|
||||
</div>
|
||||
</td>
|
||||
<td>对 <span class="t-c"><span class="mw-geshi c source-c"><span class="kw4">int</span></span></span> 的 typedef ,用于自描述性函数返回 <span class="t-lc"><a href="c-error-errno.html">errno</a></span> 值<br />
|
||||
<span class="t-mark">(typedef)</span></td>
|
||||
</tr>
|
||||
<tr class="t-dsc-header">
|
||||
<td colspan="2">
|
||||
<div>定义于头文件 <code><stddef.h></code></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="t-dsc-header">
|
||||
<td colspan="2">
|
||||
<div>定义于头文件 <code><stdio.h></code></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="t-dsc-header">
|
||||
<td colspan="2">
|
||||
<div>定义于头文件 <code><stdlib.h></code></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="t-dsc-header">
|
||||
<td colspan="2">
|
||||
<div>定义于头文件 <code><string.h></code></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="t-dsc-header">
|
||||
<td colspan="2">
|
||||
<div>定义于头文件 <code><time.h></code></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="t-dsc-header">
|
||||
<td colspan="2">
|
||||
<div>定义于头文件 <code><wchar.h></code></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="t-dsc">
|
||||
<td>
|
||||
<div class="t-dsc-member-div">
|
||||
<div><span class="t-lines"><span>rsize_t</span></span></div>
|
||||
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c11">(C11)</span></span></span></div>
|
||||
</div>
|
||||
</td>
|
||||
<td>对 <span class="t-lc"><a href="c-types-size_t.html">size_t</a></span> 相同类型的 typedef ,用于自描述性函数在运行时检查它们的参数范围<br />
|
||||
<span class="t-mark">(typedef)</span></td>
|
||||
</tr>
|
||||
<tr class="t-dsc-header">
|
||||
<td colspan="2">
|
||||
<div>定义于头文件 <code><stdint.h></code></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="t-dsc">
|
||||
<td>
|
||||
<div class="t-dsc-member-div">
|
||||
<div><span class="t-lines"><span>RSIZE_MAX</span></span></div>
|
||||
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c11">(C11)</span></span></span></div>
|
||||
</div>
|
||||
</td>
|
||||
<td>范围检查函数可接受的最大大小,展开成常量或可能在运行时改变的变量(例如,当前分配的内存大小改变时)<br />
|
||||
<span class="t-mark">(宏变量)</span></td>
|
||||
</tr>
|
||||
<tr class="t-dsc-header">
|
||||
<td colspan="2">
|
||||
<div>定义于头文件 <code><stdlib.h></code></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="t-dsc">
|
||||
<td>
|
||||
<div class="t-dsc-member-div">
|
||||
<div><a href="c-error-set_constraint_handler_s.html"><span class="t-lines"><span>set_constraint_handler_s</span></span></a></div>
|
||||
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c11">(C11)</span></span></span></div>
|
||||
</div>
|
||||
</td>
|
||||
<td>设置边界检查函数的出错回调<br />
|
||||
<span class="t-mark">(函数)</span></td>
|
||||
</tr>
|
||||
<tr class="t-dsc">
|
||||
<td>
|
||||
<div class="t-dsc-member-div">
|
||||
<div><a href="c-error-abort_handler_s.html"><span class="t-lines"><span>abort_handler_s</span></span></a></div>
|
||||
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c11">(C11)</span></span></span></div>
|
||||
</div>
|
||||
</td>
|
||||
<td>边界检查函数的异常中止回调<br />
|
||||
<span class="t-mark">(函数)</span></td>
|
||||
</tr>
|
||||
<tr class="t-dsc">
|
||||
<td>
|
||||
<div class="t-dsc-member-div">
|
||||
<div><a href="c-error-ignore_handler_s.html"><span class="t-lines"><span>ignore_handler_s</span></span></a></div>
|
||||
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c11">(C11)</span></span></span></div>
|
||||
</div>
|
||||
</td>
|
||||
<td>边界检查函数的忽略回调<br />
|
||||
<span class="t-mark">(函数)</span></td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>注意:边界检查函数的实现可用于开源库 <a rel="nofollow" class="external text" href="https://github.com/rurban/safeclib/">Safe C</a> 及 <a rel="nofollow" class="external text" href="https://code.google.com/archive/p/slibc/">Slibc</a> ,还有 Watcom C 的一部分。亦有可用于 Visual Studio 的边界检查函数的不兼容集合。</p>
|
||||
</td>
|
||||
<td><span class="t-mark-rev t-since-c11">(C11 起)</span></td>
|
||||
</tr>
|
||||
</table>
|
||||
<h3><span class="mw-headline" id=".E5.BC.95.E7.94.A8">引用</span></h3>
|
||||
<div class="t-ref-std-11">
|
||||
<ul>
|
||||
<li>C11 标准(ISO/IEC 9899:2011):</li>
|
||||
</ul>
|
||||
<dl>
|
||||
<dd>
|
||||
<ul>
|
||||
<li>7.2 Diagnostics <assert.h> (p: 186-187)</li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dd>
|
||||
<ul>
|
||||
<li>7.5 Errors <errno.h> (p: 205)</li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dd>
|
||||
<ul>
|
||||
<li>7.19 Common definitions <stddef.h> (p: 288)</li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dd>
|
||||
<ul>
|
||||
<li>7.20 Integer types <stdint.h> (p: 289-295)</li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dd>
|
||||
<ul>
|
||||
<li>7.21 Input/output <stdio.h> (p: 296-339)</li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dd>
|
||||
<ul>
|
||||
<li>7.22 General utilities <stdlib.h> (p: 340-360)</li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dd>
|
||||
<ul>
|
||||
<li>K.3.1.3 Use of errno (p: 584)</li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dd>
|
||||
<ul>
|
||||
<li>K.3.2/2 errno_t (p: 585)</li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dd>
|
||||
<ul>
|
||||
<li>K.3.3/2 rsize_t (p: 585)</li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dd>
|
||||
<ul>
|
||||
<li>K.3.4/2 RSIZE_MAX (p: 585)</li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dd>
|
||||
<ul>
|
||||
<li>7.31.3 Errors <errno.h> (p: 455)</li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dd>
|
||||
<ul>
|
||||
<li>7.31.10 Integer types <stdint.h> (p: 456)</li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dd>
|
||||
<ul>
|
||||
<li>7.31.11 Input/output <stdio.h> (p: 456)</li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dd>
|
||||
<ul>
|
||||
<li>7.31.12 General utilities <stdlib.h> (p: 456)</li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="t-ref-std-c99">
|
||||
<ul>
|
||||
<li>C99 标准(ISO/IEC 9899:1999):</li>
|
||||
</ul>
|
||||
<dl>
|
||||
<dd>
|
||||
<ul>
|
||||
<li>7.2 Diagnostics <assert.h> (p: 169)</li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dd>
|
||||
<ul>
|
||||
<li>7.5 Errors <errno.h> (p: 186)</li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dd>
|
||||
<ul>
|
||||
<li>7.26.3 Errors <errno.h> (p: 401)</li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dd>
|
||||
<ul>
|
||||
<li>7.26.8 Integer types <stdint.h> (p: 401)</li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dd>
|
||||
<ul>
|
||||
<li>7.26.9 Input/output <stdio.h> (p: 402)</li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dd>
|
||||
<ul>
|
||||
<li>7.26.10 General utilities <stdlib.h> (p: 402)</li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="t-ref-std-c89">
|
||||
<ul>
|
||||
<li>C89/C90 标准(ISO/IEC 9899:1990):</li>
|
||||
</ul>
|
||||
<dl>
|
||||
<dd>
|
||||
<ul>
|
||||
<li>4.2 DIAGNOSTICS <assert.h></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dd>
|
||||
<ul>
|
||||
<li>4.1.3 Errors <errno.h></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dd>
|
||||
<ul>
|
||||
<li>4.13.1 Errors <errno.h></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dd>
|
||||
<ul>
|
||||
<li>4.13.6 Input/output <stdio.h></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dd>
|
||||
<ul>
|
||||
<li>4.13.7 General utilities <stdlib.h></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<h3><span class="mw-headline" id=".E5.8F.82.E9.98.85">参阅</span></h3>
|
||||
<table class="t-dsc-begin">
|
||||
<tr class="t-dsc">
|
||||
<td>
|
||||
<div class="t-dsc-member-div">
|
||||
<div><a href="c-numeric-math-math_errhandling.html"><span class="t-lines"><span>math_errhandling</span><span>MATH_ERRNO</span><span>MATH_ERREXCEPT</span></span></a></div>
|
||||
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div>
|
||||
</div>
|
||||
</td>
|
||||
<td>定义用于常用数学函数的错误处理机制<br />
|
||||
<span class="t-mark">(宏常量)</span></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="visualClear"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user