Code: Select all
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
Angenommen, l1 ist eine Instanz der Klasse ListNode mit print(l1.nextNode) ergibt:
Code: Select all
ListNode{val: 4, next: ListNode{val: 3, next: None}}
Warum schlägt dies fehl: print (nextNode.val)
Code: Select all
AttributeError: 'NoneType' object has no attribute 'val'
Code: Select all
if nextNode is not None:
print(nextNode.val)
else:
print("Node is None")
Ich frage mich, ob die Antwort auf die obige Frage damit zusammenhängt, warum dies auch mit try/catch fehlschlägt:
Code: Select all
try:
print("try block executed")
print(nextNode.val)
except:
**print("except block executed1")
print(nextNode.val)**
if nextNode is not None:
print("except block executed"2)
print(nextNode.val)
else:
print("Node is None")
Code: Select all
try:
print("try block executed")
print(nextNode.val)
except:
if nextNode is not None:
print("except block executed")
print(nextNode.val)
else:
print("Node is None")