zoukankan      html  css  js  c++  java
  • Python

    From:http://interactivepython.org/courselib/static/pythonds/Introduction/ExceptionHandling.html

    Exception Handling

    There are two types of errors that typically occur when writing programs.

    • syntax error - simply means that the programmer has made a mistake in the structure of a statement or expression.

    For example:

    >>> for i in range(10)
    SyntaxError: invalid syntax (<pyshell#61>, line 1)
    • logic error - , denotes a situation where the program executes but gives the wrong result.

    In some cases, logic errors lead to very bad situations such as trying to divide by zero or trying to access an item in a list where the index of the item is outside the bounds of the list. In this case, the logic error leads to a runtime error that causes the program to terminate. These types of runtime errors are typically called exceptions.

    >>> anumber = int(input("Please enter an integer "))
    Please enter an integer -23
    >>> print(math.sqrt(anumber))
    Traceback (most recent call last):
      File "<pyshell#102>", line 1, in <module>
        print(math.sqrt(anumber))
    ValueError: math domain error
    >>>

      •   We can handle this exception by calling the print function from within a try block. 
    >>> try:
           print(math.sqrt(anumber))
        except:
           print("Bad Value for square root")
           print("Using absolute value instead")
           print(math.sqrt(abs(anumber)))
    
    Bad Value for square root
    Using absolute value instead
    4.79583152331
    >>>
      •   It is also possible for a programmer to cause a runtime exception by using the raise statement. For example, instead of calling the square root function with a negative number, we could have checked the value first and then raised our own exception. The code fragment below shows the result of creating a new RuntimeError exception. Note that the program would still terminate but now the exception that caused the termination is something explicitly created by the programmer.
    >>> if anumber < 0:
    ...    raise RuntimeError("You can't use a negative number")
    ... else:
    ...    print(math.sqrt(anumber))
    ...
    Traceback (most recent call last):
      File "<stdin>", line 2, in <module>
    RuntimeError: You can't use a negative number
    >>>


    There are many kinds of exceptions that can be raised in addition to the RuntimeError shown above. See the Python reference manual for a list of all the available exception types and for how to create your own.
     
  • 相关阅读:
    JAVA帮助文档全系列 JDK1.5 JDK1.6 JDK1.7 官方中英完整版下载
    Apache HttpComponents Client 4.0快速入门/升级-2.POST方法访问网页
    HttpClient_4 用法 由HttpClient_3 升级到 HttpClient_4 必看
    Eclipse中设置编码的方式
    javadoc简介
    正则表达式:网页爬虫:从TXT中获取邮箱地址(获取的练习,缺点:一行只能匹配一个)
    Linux系统中yum 命令讲解
    查看CentOS版本信息
    Linux系统下安装JDK
    Linux基础性笔记
  • 原文地址:https://www.cnblogs.com/keepSmile/p/7880232.html
Copyright © 2011-2022 走看看