Python异常处理

Python中异常类结构

在 Python 中, BaseException是所有异常的基类,BaseException类有四个子类:

  • SystemExit:解释器请求退出
  • KeyboardInterrupt:用户中断执行(通常是输入^C)
  • GeneratorExit:生成器(generator)发生异常来通知退出
  • Exception:常规错误的基类所有内置的非系统退出类异常都派生自此类。 所有用户自定义异常也应该继承此类。

异常处理方法

1.try-except

Python的异常处理主要通过try-except代码块实现,基本语法如下

         try:
             # block of code that might raise an exception
         except ExceptionType:
             # block of code to execute if an exception of type ExceptionType is raised

这里的ExceptionType可以是任何的异常类型,比如ValueError, TypeError, ZeroDivisionError等。
如果try语句块中的代码抛出一个匹配ExceptionType的异常,Python会立即跳到except语句块中执行相应的代码。

一个try语句可以有多个except子句,用于处理不同类型的异常。

使用多个except语句可以捕获不同类型的异常。但是,在实际编码中,可能会遇到需要对多种异常类型采取相同处理方式的情况。此时可以将这些异常类型放在一个元组中,并在except语句中进行捕获。例如:

         try:
             # some code that might raise an exception
         except (ValueError, TypeError):
             # handle both exceptions in the same way
2.final/else关键字

除了try和except之外,Python的异常处理还有两个其他的关键字:finally和else。
finally语句块中的代码无论是否发生异常都会被执行。
这在需要确保某些代码始终运行,例如清理资源,无论是否发生异常,都很有用。

         try:
             # some code that might raise an exception
         finally:
             # this code will run no matter what
             print('Cleaning up...')

else语句块中的代码会在try块没有抛出任何异常的情况下运行。
这在需要区分“正常”运行和异常处理时很有用。

         try:
             # some code that might raise an exception
         except ExceptionType:
             # handle the exception
         else:
             # this code will run only if no exception was raised
             print('No exceptions were raised.')
3.获取异常信息

当程序抛出异常时,系统会自动记录异常信息的相关细节,比如异常类型、异常信息、异常发生的位置等。在异常处理机制中,异常信息可以通过Exception对象获取。在except语句中,可以将异常对象赋值给一个变量,并利用这个变量来获取异常信息。

         try:
             # some code that might raise an exception
         except Exception as e:
             print('Caught an exception:', type(e), e)
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇