===環境===
osx 10.12.6
ruby 2.4.3
===独自例外の作成===
error_type.rb
class MyError1 < StandardError
end
===例外処理を明示的に分けたいときに便利===
example.rb
class InvalidAccountError < StandardError
# アカウント情報が違う時にエラーを出したい。
end
class InvalidPageError < StandardError
# アクセスするページがないときにエラーを出したい。
end
begin
http = Net::HTTP.start(host = "hogehoge.com", port = 80)
req = Net::HTTP::Get.new("/")
req.basic_auth(username, password)
response = http.request(req)
raise InvalidAccountError if response.code == "401"
raise InvalidPageError if response.code == "404"
rescue InvalidAccountError => e
"#{e.message}"
rescue InvalidPageError => e
"#{e.message}"
end