Ich versuche, eine Zwei-Thread-Client mit Ruby, ein Thread liest die Daten aus einem Socket und drucken Sie es aus, der andere Thread liest lokale Daten und senden Sie es an entfernter Server. Das Problem, das ich gefunden ist, dass es aussieht wie Ruby Fehler nicht innerhalb eines Threads erfassen kann, hier ein Beispiel:Wie mache ich Ruby erfassen den Syntaxfehler in Threads
#! /usr/bin/ruby
Thread.new {
loop {
$stdout.puts "hi"
abc.puts ef
sleep 1
}
}
loop {
sleep 1
}
Offensichtlich außerhalb des Threads, wenn ich abc.puts ef
der Code eingeben werden nie da Ruby-laufen „undefinierte Variable melden ABC". Wenn es jedoch innerhalb eines Threads ist, gibt es keinen Fehlerbericht. Meine Frage ist, wie kann man Ruby solche Fehler erfassen lassen? Oder zumindest, melden Sie etwas in einem Thread falsch?
'SyntaxError' wird nicht ausgelöst, aber' NameError'. – falsetru