[파이썬] `sys.last_type`: 최근 예외 유형

In Python, the sys.last_type attribute is a helpful feature that allows you to access the most recent exception type that occurred in your program. This attribute can be accessed using the sys module, which is available in the standard library.

How to access sys.last_type

To access sys.last_type, you first need to import the sys module:

import sys

Once the module is imported, you can access sys.last_type to retrieve the most recent exception type:

exception_type = sys.last_type

Usage and Examples

sys.last_type is commonly used in exception handling to perform specific actions based on the type of exception that occurred. Here are a few examples to illustrate its usage:

Example 1: Printing the last exception type

import sys

try:
    # Code that may raise an exception
    result = 10 / 0
except:
    print("Last exception type:", sys.last_type)

Output:

Last exception type: <class 'ZeroDivisionError'>

Example 2: Handling specific exception types

import sys

try:
    # Code that may raise an exception
    result = int("abc")
except ValueError:
    print("ValueError occurred")
    print("Last exception type:", sys.last_type)
except ZeroDivisionError:
    print("ZeroDivisionError occurred")
    print("Last exception type:", sys.last_type)
except:
    print("An unexpected exception occurred")

Output:

ValueError occurred
Last exception type: <class 'ValueError'>

Example 3: Using sys.last_type in a function

import sys

def handle_exception():
    try:
        # Code that may raise an exception
        result = 10 / 0
    except:
        print("Last exception type:", sys.last_type)

handle_exception()

Output:

Last exception type: <class 'ZeroDivisionError'>

Limitations and Considerations

Conclusion

sys.last_type provides a convenient way to access the most recent exception type in Python. It can be used to handle specific exception types or to perform custom error handling logic. By utilizing this attribute, you can gain more control and flexibility when dealing with exceptions in your Python programs.