例:
| Tables | Are | Cool |
| ------------- |:-------------:| -----:|
| col 3 is | right-aligned | $1600 |
| col 2 is | centered | $12 |
| zebra stripes | are neat | $1 |
效果:
Tables | Are | Cool |
---|---|---|
col 3 is | right-aligned | $1600 |
col 2 is | centered | $12 |
zebra stripes | are neat | $1 |
也可以使用HTML的table,以下例子来自于C++异常 throw和try-catch
<table>
<thead>
<tr>
<th>异常</th> <th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>std::exception</td> <td>该异常是所有标准C++异常的父类</td>
</tr>
<tr>
<td>std::bad_alloc</td> <td>该异常可以通过new抛出</td>
</tr>
<tr>
<td>std::bad_cast</td> <td>该异常可以通过dynamic_cast抛出。这在处理C++程序中无法预期的异常时非常有用</td>
</tr>
<tr>
<td>std::bad_exception</td> <td>该异常可以通过typeid抛出</td>
</tr>
<tr>
<td>std::bad_typeid</td> <td>理论上可以通过读取代码来检测到的异常</td>
</tr>
<tr>
<td>std::logic_error</td> <td>当使用了一个无效的数学域时,会抛出该异常</td>
</tr>
<tr>
<td>std::domain_error</td> <td>当使用了无效的参数时,会抛出该异常</td>
</tr>
<tr>
<td>std::invalid_argument</td> <td>当创建了太长的sta:string时,会抛出该异常</td>
</tr>
<tr>
<td>std::length_error</td> <td>该异常可以通过方法抛出,例如std:vector和std:bitset>:operatorl(0)</td>
</tr>
<tr>
<td>std::out_of_range</td> <td>理论上不可以通过读取代码来检测到的异常</td>
</tr>
<tr>
<td>std::runtime_error</td> <td>当发生数学上溢时,会抛出该异常</td>
</tr>
<tr>
<td>std::overflow_error </td> <td>当尝试存储超出范围的值时,会抛出该异常</td>
</tr>
<tr>
<td>std::range_error</td> <td>当发生数学下溢时,会抛出该异常</td>
</tr>
<tr>
<td>std::underflow_error</td> <td>当发生数学下溢时,会抛出该异常</td>
</tr>
</tbody>
</table>
效果:
异常 | 描述 |
---|---|
std::exception | 该异常是所有标准C++异常的父类 |
std::bad_alloc | 该异常可以通过new抛出 |
std::bad_cast | 该异常可以通过dynamic_cast抛出。这在处理C++程序中无法预期的异常时非常有用 |
std::bad_exception | 该异常可以通过typeid抛出 |
std::bad_typeid | 理论上可以通过读取代码来检测到的异常 |
std::logic_error | 当使用了一个无效的数学域时,会抛出该异常 |
std::domain_error | 当使用了无效的参数时,会抛出该异常 |
std::invalid_argument | 当创建了太长的sta:string时,会抛出该异常 |
std::length_error | 该异常可以通过方法抛出,例如std:vector和std:bitset>:operatorl(0) |
std::out_of_range | 理论上不可以通过读取代码来检测到的异常 |
std::runtime_error | 当发生数学上溢时,会抛出该异常 |
std::overflow_error | 当尝试存储超出范围的值时,会抛出该异常 |
std::range_error | 当发生数学下溢时,会抛出该异常 |
std::underflow_error | 当发生数学下溢时,会抛出该异常 |