A brief discussion on Python throwing exceptions, custom exceptions, and passing exceptions

WBOY
Release: 2016-07-21 14:53:14
Original
1748 people have browsed it

1. Throw exception

Python uses exception objects to represent abnormal situations. When an error is encountered, an exception will be thrown. If the exception object is not handled or caught, the program will terminate execution with a so-called traceback (an error message).

raise statement

The raise keyword in Python is used to raise an exception, which is basically the same as the throw keyword in C# and Java, as shown below:

import traceback

def throw_error():
  raise Exception("抛出一个异常")#异常被抛出,print函数无法执行
  print("飞天猪")
  
throw_error()

Copy after login

#Run result:

'''Traceback (most recent call last):
 File "C:\Users\Administrator\Desktop\systray.py", line 7, in <module>
  throw_error()
 File "C:\Users\Administrator\Desktop\systray.py", line 4, in throw_error
  raise Exception("抛出一个异常")#异常被抛出,print函数无法执行
Exception: 抛出一个异常'''
Copy after login

After the raise keyword, the throw is a general exception type (Exception). Generally speaking, the more detailed the exception thrown, the better

2. Transmission exception:

If you catch an exception, but want to re-raise it (pass the exception), you can use the raise statement without parameters:

class MufCalc(object):
  m = False
  def calc(self,exp):
    try:
      return eval(exp)
    except ZeroDivisionError:
      if self.m:
        print("cool")
      else:
        raise

app = MufCalc()
app.calc(2/0)

Copy after login

3. Custom exception type :

You can also customize your own special types of exceptions in Python, just inherit from the Exception class (directly or indirectly):

class MyError(Exception):
  pass
Copy after login

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!