Sto provando a codificare un client a due thread usando ruby, un thread legge i dati da un socket e lo stampa, l'altro thread legge i dati locali e li invia a Server remoto. Il problema che ho trovato è che sembra come Ruby non può catturare gli errori all'interno di un filo, ecco un esempio:Come rendere Ruby catturato l'errore di sintassi nei thread
#! /usr/bin/ruby
Thread.new {
loop {
$stdout.puts "hi"
abc.puts ef
sleep 1
}
}
loop {
sleep 1
}
Ovviamente, al di fuori del filo se digito abc.puts ef
il codice non verrà mai eseguito dal rubino riporterà "variabile non definita abc". Tuttavia, se si trova all'interno di una discussione, non vi è alcun rapporto di errore. La mia domanda è, come permettere a Ruby di catturare errori come questo? O almeno, segnalare che qualcosa non va in una discussione?
'SyntaxError' non viene generato, ma' NameError'. – falsetru