[解決済み] Rubyでfailキーワードは何をするのですか?
質問
Rubyを勉強していると
fail
というキーワードがあります。これは何を意味するのでしょうか?
if password.length < 8
fail "Password too short"
end
unless username
fail "No user name set"
end
解決方法は?
Rubyの場合。
fail
と同義です。
raise
. その
fail
キーワードは
Kernel
クラスが含むモジュール
Object
. その
fail
メソッドと同様にランタイムエラーを発生させます。
raise
キーワードを使用します。
は、その
fail
メソッドには、3つのオーバーロードがあります。
-
fail
: を発生させます。RuntimeError
をエラーメッセージなしで表示します。 -
fail(string)
: を発生させます。RuntimeError
を引数の文字列と一緒にエラーメッセージとして出力します。fail "Failed to open file"
-
fail(exception [, string [, array]])
クラスの例外を発生させます。exception
(第一引数)、オプションのエラーメッセージ(第二引数)、コールバック情報(第三引数)を指定します。例 不正な引数を与えると失敗するような関数を定義したとします。この場合
ArgumentError
でなくRuntimeError
:fail ArgumentError, "Illegal String"
もう一つの例 この例では バックトレース を
fail
メソッドの内部でトレースにアクセスできるようにします。rescue
ブロックを作成します。fail ArgumentError, "Illegal String", caller
caller
はカーネルメソッドであり、バックトレースをfile:line: in 'method'
.
引数なしで、$!の例外を発生させるか、RuntimeErrorを発生させます。 がnilの場合、$! 単一のString引数で、RuntimeErrorを発生させます。 をメッセージとする文字列。それ以外の場合,最初のパラメータは Exceptionクラスの名前(またはExceptionを返すオブジェクト)。 オブジェクトを送信します)。オプションの第2パラメータ は例外に関連するメッセージを設定し、3番目の パラメータは、コールバック情報の配列である。例外の捕捉 は、begin...endブロックのrescue句で指定します。
関連
-
[解決済み] 動的な定数割り当て
-
[解決済み] Rubyのswitch文の書き方
-
[解決済み] Rubyで配列に値が存在するかどうかを確認する方法
-
[解決済み] Rubyからシェルコマンドを呼び出す方法
-
[解決済み] Rubyでnilとemptyとblankを理解する方法
-
[解決済み] Rubyのattr_accessorとは何ですか?
-
[解決済み] w(array)とはどういう意味ですか?
-
[解決済み] RubyでBegin, Rescue, Ensure?
-
[解決済み] Rubyで||= (or-equals)はどういう意味ですか?
-
[解決済み】Rubyの__FILE__の意味は何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Ruby、スタックレベルが深すぎる (SystemStackError)
-
[解決済み] Rubyがブロックの中でパイプ文字を使うことについて、誰か説明してください。
-
[解決済み] git, Heroku: pre-receive フックの減少
-
[解決済み] レイルズ・ジェネレート」を逆手に取る方法
-
[解決済み] Gem::Specification.reset中に未解決のスペックがある。
-
[解決済み] マトリックスサムネーションチャレンジ
-
[解決済み] 配列に何かを追加しようとしたときに、nil から整数への暗黙の変換が行われない。
-
[解決済み] ルビー、すべての単語の最初の文字を大文字にする
-
[解決済み] rvmのインストールがうまくいきません。"RVMは機能ではありません"
-
[解決済み] Rubyでガウス(正規分布)乱数を生成するコード