欢迎访问宙启技术站
智能推送

异常处理和函数异常抛出

发布时间:2023-06-25 11:51:03

异常处理是程序设计中非常重要的一部分,它用于对程序执行过程中可能出现的异常情况进行处理,避免程序因异常导致崩溃或不可预测的结果。

在 Python 中,我们可以通过 try 和 except 语句来处理异常。try 块包含可能引发异常的代码语句,如果 try 块中的语句执行时发生了异常,就会跳转到对应的 except 块中进行处理。

例如,下面的代码中,我们尝试打开一个不存在的文件,因此会引发 FileNotFoundError 异常,通过 try 和 except 语句可以进行异常处理,输出提示信息并继续执行程序。

try:
    f = open("nonexistentfile.txt", "r")
except FileNotFoundError:
    print("File not found.")
print("Program continues.")

除了通过 try 和 except 语句处理异常外,我们还可以通过 raise 语句来抛出异常。raise 语句会在程序中手动引发一个异常,可以用于自定义异常类型或者在函数中抛出异常。

在 Python 中,我们可以自定义异常类型,通过继承 Exception 类来实现。例如,下面的代码中,我们定义了一个自定义异常类型 InvalidInputError,继承自 Exception 类。

class InvalidInputError(Exception):
    pass

然后,在函数中通过 raise 语句来抛出该异常。

def calculate_square(num):
    if num < 0:
        raise InvalidInputError("Number must be non-negative.")
    return num ** 2

在使用这个函数时,如果传入的参数为负数,则会抛出 InvalidInputError 异常,并输出对应的异常信息。

try:
    result = calculate_square(-1)
except InvalidInputError as e:
    print(e)
print("Program continues.")

以上就是 Python 中异常处理和函数异常抛出的相关内容。在编写 Python 程序时,充分了解和运用异常处理相关知识,可以提高程序的稳定性和可维护性。