Endlosschleife mit KeyInterrupt beenden
Verfasst: Donnerstag 23. Mai 2013, 13:51
Hallo Leute,
in meinem Programm habe ich eine endlose while-schleife die ich mit try-except Keyinterupt beende möchte. Das sieht in etwa so aus:
while True :
try: ...
....
except KeyboardInterrupt :
break
...
Das Problem dabei ist, dass es machmal klappt(dh der code der danach kommt wird auch ausgeführt),
manchmal sprint er komplet raus
und meistens gibt er ein fehler im Terminal aus der so aussieht:
^CTraceback (most recent call last):
File "/home/at-labor/mystacks/dynamixel_motor/dynamixel_controllers/nodes/dynamixel_moving.py", line 89, in <module>
values = dxl_io.get_feedback(motor_id)
File "/home/at-labor/mystacks/dynamixel_motor/dynamixel_driver/src/dynamixel_driver/dynamixel_io.py", line 846, in get_feedback
response = self.read(servo_id, DXL_GOAL_POSITION_L, 17)
File "/home/at-labor/mystacks/dynamixel_motor/dynamixel_driver/src/dynamixel_driver/dynamixel_io.py", line 138, in read
data = self.__read_response(servo_id)
File "/home/at-labor/mystacks/dynamixel_motor/dynamixel_driver/src/dynamixel_driver/dynamixel_io.py", line 101, in __read_response
raise DroppedPacketError('Invalid response received from motor %d. %s' % (servo_id, e))
dynamixel_driver.dynamixel_io.DroppedPacketError: Invalid response received from motor 1. (4, 'Interrupted system call')
achja, Mein System: Ubuntu 12.04
Vielen Dank in vorraus
in meinem Programm habe ich eine endlose while-schleife die ich mit try-except Keyinterupt beende möchte. Das sieht in etwa so aus:
while True :
try: ...
....
except KeyboardInterrupt :
break
...
Das Problem dabei ist, dass es machmal klappt(dh der code der danach kommt wird auch ausgeführt),
manchmal sprint er komplet raus
und meistens gibt er ein fehler im Terminal aus der so aussieht:
^CTraceback (most recent call last):
File "/home/at-labor/mystacks/dynamixel_motor/dynamixel_controllers/nodes/dynamixel_moving.py", line 89, in <module>
values = dxl_io.get_feedback(motor_id)
File "/home/at-labor/mystacks/dynamixel_motor/dynamixel_driver/src/dynamixel_driver/dynamixel_io.py", line 846, in get_feedback
response = self.read(servo_id, DXL_GOAL_POSITION_L, 17)
File "/home/at-labor/mystacks/dynamixel_motor/dynamixel_driver/src/dynamixel_driver/dynamixel_io.py", line 138, in read
data = self.__read_response(servo_id)
File "/home/at-labor/mystacks/dynamixel_motor/dynamixel_driver/src/dynamixel_driver/dynamixel_io.py", line 101, in __read_response
raise DroppedPacketError('Invalid response received from motor %d. %s' % (servo_id, e))
dynamixel_driver.dynamixel_io.DroppedPacketError: Invalid response received from motor 1. (4, 'Interrupted system call')
achja, Mein System: Ubuntu 12.04
Vielen Dank in vorraus