From: masaki.suketa@... Date: 2016-04-17T01:07:05+00:00 Subject: [ruby-dev:49579] [Ruby trunk Bug#12183] require "win32ole" すると終了ステータスが必ず 0 になる Issue #12183 has been updated by Masaki Suketa. Backport changed from 2.1: DONTNEED, 2.2: REQUIRED, 2.3: REQUIRED to 2.1: DONTNEED, 2.2: REQUIRED, 2.3: DONTNEED ---------------------------------------- Bug #12183: require "win32ole" すると終了ステータスが必ず 0 になる https://bugs.ruby-lang.org/issues/12183#change-58111 * Author: Kazutoshi SATODA * Status: Assigned * Priority: Normal * Assignee: Tomoyuki Chikanaga * ruby -v: ruby 2.2.4p230 (2015-12-16 revision 53155) [x86_64-cygwin] * Backport: 2.1: DONTNEED, 2.2: REQUIRED, 2.3: DONTNEED ---------------------------------------- プログラム中で `require "win32ole"` するとそのプログラムが途中でエラーに なっても終了ステータスが必ず 0 (正常終了)になり、呼び出し側で正しく エラー判別できません。 ~~~ $ ruby -e 'require "win32ole"; abort'; echo $? 0 ~~~ `require "win32ole"` しない場合は問題なく、終了ステータスが異常終了を 示します。 ~~~ $ ruby -e 'abort'; echo $? 1 ~~~ win32ole 以外でも問題ありません。 ~~~ $ ruby -e 'require "csv"; abort'; echo $? 1 ~~~ Cygwin ruby 2.0.x では問題ありませんでしたが、 2.2.4 にバージョンを 上げたところで問題が起こりました。複数の環境で再現できています。 -- https://bugs.ruby-lang.org/