Traceback (most recent call last): File "/home/probie/workspace/python/base-python/test.py", line 2, in <module> prin("Hello, World!") # ^^^^ NameError: name 'prin'isnot defined. Did you mean: 'print'?
关键字错误会报 NameError,并给出可能的建议
语法错误示例:
1 2
whileTrue: print("hlsshs"# 缺少右边的括号
1 2 3 4
File "/home/probie/workspace/python/base-python/test.py", line 2 print("hlsshs" ^ SyntaxError: '(' was never closed
defdivide(a, b): # if b == 0: # raise ValueError("Denominator cannot be zero.") return a / b
print(divide(10, 2)) # Expected output: 5.0 print(divide(10, 0)) # This should raise a ValueError
1 2 3 4 5 6 7 8 9
5.0 Traceback (most recent call last): File "/home/probie/workspace/python/base-python/test.py", line 7, in <module> print(divide(10, 0)) # This should raise a ValueError ^^^^^^^^^^^^^ File "/home/probie/workspace/python/base-python/test.py", line 4, in divide return a / b ~~^~~ ZeroDivisionError: division by zero
defdivide(a, b): try: r = a / b print("正在执行除法操作...") except NameError: print("哦豁,除以零了!") else: print("除法成功,结果是:", r) finally: print("无论如何,这段代码都会执行。")
print("函数执行完毕。")
divide(10, 0)
输出:
1 2 3 4 5 6 7 8
无论如何,这段代码都会执行。 Traceback (most recent call last): File "/home/probie/workspace/python/base-python/test.py", line 15, in <module> divide(10, 0) File "/home/probie/workspace/python/base-python/test.py", line 3, in divide r = a / b ~~^~~ ZeroDivisionError: division by zero
defdivide(a, b): try: r = a / b except ZeroDivisionError as e: e.add_note("我是 1") e.add_note("我是 2") raise return r
divide(1, 0)
输出:
1 2 3 4 5 6 7 8 9
Traceback (most recent call last): File "/home/probie/workspace/python/base-python/test.py", line 10, in <module> divide(1, 0) File "/home/probie/workspace/python/base-python/test.py", line 3, in divide r = a / b ~~^~~ ZeroDivisionError: division by zero 我是 1 我是 2