提交 8defbf77 编写于 作者: 写代码的明哥's avatar 写代码的明哥

update

上级 f7df5ba8
......@@ -19,16 +19,36 @@ def demo_func(filename):
出现错误或者异常没有关系,关键在于你要学会预判程序可能会出现的错误或异常,然后在代码中捕获这些异常并处理。
异常的捕获主要有三种方式
异常的捕获的语法有如下两种
- 第一种:使用 `try ... except ...`
第一种:只捕捉但是不想获取异常信息
如果代码A发生了异常,则会走到代码B的逻辑
```python
try:
代码A
except [EXCEPTION]:
代码B
```
第二种:不但捕捉了还要获取异常信息,赋值给 e 后,后面你可以把异常信息打印到日志中。
```python
try:
代码A
except [EXCEPTION] as e:
代码B
```
有了上面的基础语法,可以扩展出下面三种常用的异常捕获的写法。
- 第一种:正常使用 `try ... except ...`
如果代码A发生了异常,则会走到代码B的逻辑。
```python
try:
代码A
except:
except [exception] as e :
代码B
```
......@@ -52,7 +72,7 @@ integer division or modulo by zero
```python
try:
代码A
except:
except [exception] as e:
代码B
else:
代码C
......@@ -96,7 +116,7 @@ integer division or modulo by zero
```python
try:
代码A
except:
except [exception] as e:
代码B
finally:
代码C
......
......@@ -26,17 +26,38 @@ Exception 通用异常。
出现错误或者异常没有关系,关键在于你要学会预判程序可能会出现的错误或异常,然后在代码中捕获这些异常并处理。
异常的捕获主要有三种方式
异常的捕获的语法有如下两种
- 第一种:使用 ``try ... except ...``
第一种:只捕捉但是不想获取异常信息
如果代码A发生了异常,则会走到代码B的逻辑
.. code:: python
try:
代码A
except [EXCEPTION]:
代码B
第二种:不但捕捉了还要获取异常信息,赋值给 e
后,后面你可以把异常信息打印到日志中。
.. code:: python
try:
代码A
except [EXCEPTION] as e:
代码B
有了上面的基础语法,可以扩展出下面三种常用的异常捕获的写法。
- 第一种:正常使用 ``try ... except ...``
如果代码A发生了异常,则会走到代码B的逻辑。
.. code:: python
try:
代码A
except:
except [exception] as e :
代码B
举个例子
......@@ -59,7 +80,7 @@ Exception 通用异常。
try:
代码A
except:
except [exception] as e:
代码B
else:
代码C
......@@ -102,7 +123,7 @@ Exception 通用异常。
try:
代码A
except:
except [exception] as e:
代码B
finally:
代码C
......
# 6.3 如何自定义异常
大多数情况下,内置的错误和异常已经够用了。
大多数情况下,内置的错误和异常已经够用了,但是有时候你还是需要自定义一些异常
但是有时候你还是需要自定义一些异常。自定义异常应该继承 `Exception` 类,直接继承或者间接继承都可以,例如:
自定义异常,需要先知道 `类``继承` 的一些相关知识,但关于类的知识是在第七章,如果你是纯新手跟着本教程学习到这里,可先暂跳过本节内容,等学习了第七章后再回过头来。
自定义异常应该继承 `Exception` 类,直接继承或者间接继承都可以,例如:
```python
class MyExcept(Exception):
......@@ -11,11 +13,16 @@ class MyExcept(Exception):
def __str__(self):
return self.message
```
异常的名字都以`Error`结尾,我们在为自定义异常命名的时候也需要遵守这一规范,就跟标准的异常命名一样。
定义完后,就可以使用 `raise` 关键字来抛出异常
```python
try:
raise MyExcept('我的异常!')
except MyExcept as ex:
print(ex) 
```
异常的名字都以`Error`结尾,我们在为自定义异常命名的时候也需要遵守这一规范,就跟标准的异常命名一样。
\ No newline at end of file
6.3 如何自定义异常
==================
大多数情况下,内置的错误和异常已经够用了。
大多数情况下,内置的错误和异常已经够用了,但是有时候你还是需要自定义一些异常
但是有时候你还是需要自定义一些异常。自定义异常应该继承 ``Exception``
类,直接继承或者间接继承都可以,例如:
自定义异常,需要先知道 ``类`` 与 ``继承``
的一些相关知识,但关于类的知识是在第七章,如果你是纯新手跟着本教程学习到这里,可先暂跳过本节内容,等学习了第七章后再回过头来。
自定义异常应该继承 ``Exception`` 类,直接继承或者间接继承都可以,例如:
.. code:: python
......@@ -15,9 +17,13 @@
def __str__(self):
return self.message
异常的名字都以\ ``Error``\ 结尾,我们在为自定义异常命名的时候也需要遵守这一规范,就跟标准的异常命名一样。
定义完后,就可以使用 ``raise`` 关键字来抛出异常
.. code:: python
try:
raise MyExcept('我的异常!')
except MyExcept as ex:
print(ex) 
异常的名字都以\ ``Error``\ 结尾,我们在为自定义异常命名的时候也需要遵守这一规范,就跟标准的异常命名一样。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册