RustでHello, worldしようと思ったけどなかなかビルドが終わらないので、待ってる合間にリリースされたpebbles-suddenly_death gemで遊んでみた。
$ gem install pebbles-suddenly_death
メソッドを呼び出すと、処理を行った後に1/100の確率で例外を投げるというもの。
require "pebbles/suddenly_death" class A def self.hello puts "Hello from class!" end def hello puts "Hello from instance!" end include Pebbles::SuddenlyDeath end 100.times { A.hello } # => Hello from class! # Hello from class! # Hello from class! # Hello from class! # Hello from class! # Hello from class! # Hello from class! # Hello from class! # Hello from class! # Hello from class! # Hello from class! # Hello from class! # Hello from class! # Hello from class! # Pebbles::SuddenlyDeathError: Pebbles::SuddenlyDeathError a = A.new 100.times { a.hello } # => Hello from class! # Hello from class! # Hello from class! # Hello from class! # Hello from class! # Hello from class! # Hello from class! # Hello from class! # Hello from class! # Hello from class! # Hello from class! # Pebbles::SuddenlyDeathError: Pebbles::SuddenlyDeathError
コードをみてみるとメタプログラミングしてあって面白い(ジョークなのにここまでやるか、というよりジョークだからここまでやるのか?)。
rescueしたらちゃんとmessageを表示するとなおよし。