How to reference an exception class in Python?

2019-08-12 04:47发布

问题:

I want to catch a GPSException thrown by the gpxpy library.

try:
    gpx = gpxpy.parse(open(filepath))
except GPXException:
    print "GPXException for %s." % filepath

Since I am new to Python I do not understand how one would reference the exception via namespace such as gpxpy.gpx.GPSException or an import statement such as ..

import gpxpy
import gpxpy.gpx
import gpxpy.gpx.GPSException

回答1:

You need to reference the exception correctly.

Either import the exception directly into your module, or use the full reference:

import gpxpy.gpx

try:
    # ...
except gpxpy.gpx.GPSException:
    # ...

or

from gpxpy.gpx import GPSException

try:
    # ...
except GPSException:
    # ...