Kernel#systemに`exception:`オプションが追加(翻訳)|TechRacho(テックラッチョ)〜エンジニアの「?」を「!」に〜|BPS株式会社エンジニアの「?」を「!」に。原著者の許諾を得て翻訳・公開いたします。2.6シリーズの記事です。2.6.0-preview2は最近リリースされました。db:migrateなどのシステムコマンドをあちこちで実行しています。db:migrateで行う必要があるとします。これはKernel#systemメソッドで実行できます。2.5.0systemを実行するとtrueかfalseが返ります。systemのもうひとつの機能は、例外を握りつぶすことです。systemコマンドでマイグレーションが成功した場合は、trueを返します。trueマイグレーションでテーブルにカラムを追加しようとしたら、テーブルが存在しなかったとしましょう。この場合systemコマンドはfalseを返します。falsesystemコマンドの実行に失敗した場合にfalseが返るので、上では例外が発生しません。次のように明示的にraiseすればセットアップスクリプトを停止できます。trueオプションが使えるようになったので、上のように明示的なraiseによるスクリプト停止コードを書かなくて済むようになりました。2.5と同様にfalseを返します。#14386なお、スクリプト実行に使えるのはsystemだけではありません。Process.spawnとの違いについて説明しています。コボラー、ITコンサル、ローカライズ業界、Rails開発を経てTechRachoの編集・記事作成を担当。チュートリアル第2版の監修および半分程度を翻訳、Railsガイドの初期翻訳ではほぼすべてを翻訳。その後も折に触れて更新翻訳中。enno.jpを運営。実は最近Go言語が好きで、Goで書かれたRubyライクなGoby言語のメンテナーでもある。仕事に関係ないすっとこブログ「あけてくれ」は2000年頃から多少の中断をはさんで継続、現在はnote.muに移転。Storageを使ってはいけない(翻訳)#Tags#会社紹介#自社サービス#勉強会#Rails#PHP#デザイン#実績#週刊RailsウオッチCONTACTお気軽にご相談ください。(翻訳)CONTACTTechRachoでは、パートナーシップをご検討いただける方からのご連絡をお待ちしております。お気軽にご意見・ご相談ください。