美文网首页
错误和异常

错误和异常

作者: 黑夜的眸 | 来源:发表于2018-04-25 22:56 被阅读0次

try语句按照如下方式工作:
  1.首先,执行try子句(在关键字try和关键字except之间的语句)
  2.如果没有异常发生,忽略except子句,try子句执行后结束。
  3.如果在执行try子句的过程中发生了异常,那么try子句余下的部分将被忽略。如果异常的类型和 except 之后的名称相符,那么对应的except子句将被执行。最后执行 try 语句之后的代码。
  4.如果一个异常没有与任何的except匹配,那么这个异常将会传递给上层的try中。


异常处理

for arg in sys.argv[1:]:
    try:
        f = open(arg, 'r')
    except IOError:
        print('cannot open', arg)
    else:
        print(arg, 'has', len(f.readlines()), 'lines')
        f.close()

使用 else 子句比把所有的语句都放在 try 子句里面要好,这样可以避免一些意想不到的、而except又没有捕获的异常

抛出异常

Python 使用 raise 语句抛出一个指定的异常。例如:

raise NameError('HiThere')
Traceback (most recent call last):
File "<stdin>", line 1, in ?
NameError: HiThere

raise 唯一的一个参数指定了要被抛出的异常。它必须是一个异常的实例或者是异常的类(也就是 Exception 的子类)。

定义清理行为

try 语句还有另外一个可选的子句finally,它定义了无论在任何情况下都会执行的清理行为。 例如:

def divide(x, y):
        try:
            result = x / y
        except ZeroDivisionError:
            print("division by zero!")
        else:
            print("result is", result)
        finally:
            print("executing finally clause")

相关文章

  • Java中异常和错误的区别及处理方式

    异常和错误的区别和联系 在Java中,异常和错误同属于一个类:Throwable。异常和错误都是Java异常处理重...

  • 异常和错误

    PHP对于异常的支持还不完善,很多异常不会自动抛出需要人为的抛出,这时我们就需要自己通过一些特殊的方法,模拟自动抛...

  • 错误和异常

    try语句按照如下方式工作:  1.首先,执行try子句(在关键字try和关键字except之间的语句)  2.如...

  • 错误和异常

    永远不要让用户看见大黄页

  • 错误和异常

    至少有两种可区分的错误:语法错误和异常。 1.语法错误 语法错误,也称为解析错误。 2.异常 即使一个语句或表达式...

  • Lesson 027 —— python 错误和异常

    Lesson 027 —— python 错误和异常 Python有两种错误很容易辨认:语法错误和异常。 语法错误...

  • Java自学-异常处理 异常分类

    Java 中异常的分类 异常分类: 可查异常,运行时异常和错误3种其中,运行时异常和错误又叫非可查异常 步骤 1 ...

  • Python异常处理

    参考 Python菜鸟教程错误与异常 Python 异常处理 错误和异常 Python中(至少)有两种错误:语法错...

  • [PHP错误异常]⑩--错误和异常的区别

  • Java异常处理

    最近在学Java异常处理,码一下备忘。 异常和错误的区别和处理方式 首先,错误和异常都是程序运行中出现了问题,错误...

网友评论

      本文标题:错误和异常

      本文链接:https://www.haomeiwen.com/subject/yvjulftx.html