当在Python中遇到错误时,程序的行为会取决于错误的类型以及是否进行了适当的错误处理。
1. **语法错误**:如果代码中存在语法错误(如拼写错误或不完整的语句),解释器将无法继续执行代码,而是会在错误发生的位置引发`SyntaxError`。在这种情况下,后面的代码通常不会执行,因为整个脚本在错误点停止。
2. **运行时错误**:如果代码中存在运行时错误(如除以零或访问不存在的变量),解释器将在出现错误时引发异常(如`ZeroDivisionError`或`NameError`)。如果未进行适当的异常处理,后面的代码将不会执行,因为程序将在异常处终止。
3. **异常处理**:如果前面的代码包含了异常处理机制,如`try`和`except`块,那么在异常发生时,程序会跳转到适当的`except`块,并且后面的代码可以继续执行,而不会因异常而中断。
4. **模块导入**:如果前面的代码包括模块导入,并且导入的模块没有错误,后面的代码可以继续执行。模块导入通常不会因为前面的错误而受影响。
5. **代码块**:某些代码块,如循环或条件语句,可能在出现错误时跳过当前迭代或分支,而不会中断整个程序的执行。这意味着后面的代码可能仍然会执行。
下面是测试代码,try扫描模块中异常点后面的不会执行,直接跳到对应except执行后面代码
def sing():
print("妹妹在唱歌")
time.sleep(1)
def dance():
print("妹妹在跳舞")
time.sleep(1)
if __name__ == "__main__":
print("好妹妹")
#int("我爱妹妹")
try:
UFO=1/0
print("Welcome to the 漂亮国")
except:
print("UFO有问题")
print("主进程执行")
for i in range(5):
t1 = Process(target=sing)
t2 = Process(target=dance)
t1.start()
t1.join()
t2.start()
t2.join()
print("主进程结束")