zoukankan      html  css  js  c++  java
  • 011: Errors and Exceptions

    1. Syntax errors, also known as parsing errors, are perhaps the most common kind of complaint you get while you are still learning Python

    >>> print(a * 3)
    Traceback (most recent call last):
      File "<pyshell#0>", line 1, in <module>
        print(a * 3)
    NameError: name 'a' is not defined

    2. Even if a statement or expression is syntactically correct, it may cause an error when an attempt is made to execute it. Errors detected during execution are called exceptions and are not unconditionally fatal. And example below would be very mindful:

    class MyError(Exception):
        def __init__(self, value):
            self.value = value
        def __str__(self):
            return repr(self.value)
            
    
    def learn_raise_error(num):
        if num == 1:
            result = num / 0
        elif num == 2:
            result = num * a
        elif num == 3:
            result = num + 'learn'
        elif num == 4:
            raise MyError(4)        
        elif num == 5:
            raise Exception('Unkown excetion!')
        else:
            num = 6    
    
    for i in range(1,7,1):
        try:
            learn_raise_error(i)
        except ZeroDivisionError:
            print('ZeroDivisionError')
        except NameError:
            print('NameError')
        except TypeError:
            print('TypeError')
        except MyError:
            print('MyError')        
        except:
            print('Unkown Error')
        # when no exception, then execute else
        else:
            print('No Error')
        # clean up
        finally:
            print('clean up...')

    3. Some objects define standard clean-up actions to be undertaken when the object is no longer needed, regardless of whether or not the operation using the object succeeded or failed.

    with open("myfile.txt") as f:
        for line in f:
            print(line, end="")
  • 相关阅读:
    团队博客创建
    筼筜湖美景
    作业11-网络
    作业11-多线程
    多线程-冲突与同步代码
    Java第12次实验提纲(JSP简单入门)
    作业-JSP简单入门
    Java Web参考资料
    面向对象设计大作业迭代任务
    在码云(gitee)上展开程序类课程教学
  • 原文地址:https://www.cnblogs.com/jcsz/p/5117604.html
Copyright © 2011-2022 走看看