
No.2ベストアンサー
- 回答日時:
ああ、すみません。
質問文に構文的に正しくない場合ってありますね。SyntaxErrorはクラスを指定しないrescueではできません。
Rubyリファレンスマニュアル - 制御構造
http://www.ruby-lang.org/ja/man/index.cgi?cmd=vi …
Rubyリファレンスマニュアル - 組み込みクラス/モジュール/例外クラス
http://www.ruby-lang.org/ja/man/index.cgi?cmd=vi …
irb(main):001:0> begin
irb(main):002:1* eval("a=(1/0")
irb(main):003:1> rescue SyntaxError
irb(main):004:1> puts "構文エラーがありました"
irb(main):005:1> end
構文エラーがありました
=> nil
ということで適切なクラスを指定して捕捉してください。
No.1
- 回答日時:
> resucue
スペルミスしてます。
irb(main):001:0> begin
irb(main):002:1* eval("1/0")
irb(main):003:1> resucue
irb(main):004:1> puts "error"
irb(main):005:1> end
ZeroDivisionError: (eval):1:in `irb_binding': divided by 0
from (irb):2:in `eval'
from (irb):2:in `eval'
from (irb):2
from c:/ruby/lib/ruby/1.9/irb.rb:150:in `block (2 levels) in eval_input'
from c:/ruby/lib/ruby/1.9/irb.rb:259:in `signal_status'
from c:/ruby/lib/ruby/1.9/irb.rb:147:in `block in eval_input'
from c:/ruby/lib/ruby/1.9/irb.rb:146:in `eval_input'
from c:/ruby/lib/ruby/1.9/irb.rb:70:in `block in start'
from c:/ruby/lib/ruby/1.9/irb.rb:69:in `catch'
from c:/ruby/lib/ruby/1.9/irb.rb:69:in `start'
from c:/ruby/bin/irb.bat:21:in `<main>'
irb(main):006:0> begin
irb(main):007:1* eval("1/0")
irb(main):008:1> rescue
irb(main):009:1> puts "error"
irb(main):010:1> end
error
=> nil
irb(main):011:0>
>> resucue
>スペルミスしてます。
失礼しました。
rescue に正しく修正して確認しました。
検知したいのは、 eval("1/0")ではなく
str = "a=(1/0"
eval(str)
としたときに、これをシンタックスエラーとして検知したいために
rescue のところを実行させたいということです。
上記のstrは "(" があるためシンタックスエラーとなります。
このケースでrescue以下の部分を実行させる方法があるかというのが
質問の趣旨です。
上記を実行すると、
rescueが実行されずに、
以下のエラーメッセージが標準エラーに出力されてしまいます。
(eval):1: syntax error
a=(1/0
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
- Visual Basic(VBA) IBM Notes9のメールをExcelVBAにて送信するコードについての質問です。 以下のコードを 3 2023/06/21 17:58
- Visual Basic(VBA) 実行時エラー´5854´ 文字列型パラメーターが長すぎます。 3 2023/06/08 21:17
- Excel(エクセル) R列の1111/11/11以外、且つQ列の×の条件で該当行のAからAE列までオレンジに塗りつぶす 2 2022/07/02 10:18
- Visual Basic(VBA) Csvファイルの最終行を取得する構文はこれであっていますか?オブジェクトは、このプロパティまたはメソ 3 2022/12/26 14:38
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- Access(アクセス) 実行時エラー3131 FROM 句の構文エラーです について 7 2022/06/13 15:45
- Visual Basic(VBA) VBAでファイルを開くプログラムがエラーです 2 2023/02/21 16:56
- PHP phpの imap_search で漢字コード 1 2022/09/06 17:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vba クリップボードクリアにつ...
-
pip --versionがエラーになる
-
画像生成AIのプロンプトの作り...
-
Geminiフォーム 画像生成で 人...
-
CSVファイルの複数行削除
-
ネットワークフォルダの中身を...
-
数学、プログラミング、物理、...
-
pythonの実行に関する質問
-
Python 3.12.2 か一番最新のパ...
-
OS入ってる機器のソフト・アプ...
-
パイソンのソースコードをChatG...
-
Google ColaboでGUI作成
-
Pythonでの文字列からfloatへの...
-
Python... 環境設定 初心者です...
-
VBAでパワーシェルを実行したい...
-
HTMLソースが表示のページのも...
-
プログラミング言語のバージョ...
-
PowerAutomateで運賃検索がした...
-
覚えることが少ないプログラミ...
-
IT業で開発をされてる方々に質...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Rubyのirbで計算を途中でやめる...
-
rubyのevalのエラーを検知したい
-
Rubyのirbでの漢字入力
-
Ruby の 階乗 C 有効桁数
-
Ruby on Railsでボタンをクリッ...
-
RTTの計測
-
rubyで整数どうしの割り算 切...
-
桁 けた
-
小文字wと大文字Wの区別
-
COBOLのIFの入れ子について
-
Ruby interpreter (CUI) 2.2.3 ...
-
web上のhtmlファイルから文字デ...
-
RubyでNo such file or directo...
-
バーコードのチェックデジット...
-
VB.NETの入門書、どれをお使い...
-
We're sorry, but something we...
-
Ruby expect 条件文(if文)の書き方
-
本の紹介
-
Rubyの構文?言語仕様?
-
プログラミング言語で大文字と...
おすすめ情報