ruby を使用して 2 スレッド クライアントをコーディングしようとしています。1 つのスレッドがソケットからデータを読み取って出力し、もう 1 つのスレッドがローカル データを読み取ってリモート サーバーに送信します。私が見つけた問題は、Ruby がスレッド内のエラーをキャプチャできないように見えることです。以下に例を示します。
#! /usr/bin/ruby
Thread.new {
loop {
$stdout.puts "hi"
abc.puts ef
sleep 1
}
}
loop {
sleep 1
}
明らかに、abc.puts ef
Ruby が「未定義の変数 abc」を報告するため、コードを入力してもスレッドの外では実行されません。ただし、スレッド内にある場合、エラー レポートはありません。私の質問は、Ruby にこのようなエラーをキャプチャさせる方法は? または、少なくとも、スレッド内で何か問題があることを報告しますか?