如何在 Ruby 中處理異常
程式設計中的異常是在執行時發生的錯誤。它們很難有效地處理,但處理它們很重要,否則它們會中斷程式執行。
一些常見的異常包括:
嘗試開啟不存在的檔案,
除以零,
記憶體不足等。
現在讓我們來看幾個例子,演示異常如何中斷 Ruby 程式的執行。
示例 1
考慮以下程式碼。
taking two integer value
$First = 10;
$Second = 0;
# divide by zero error
$Third = $First / $Second;
puts "The Result is: #{$Third}"在這個程式中,我們有兩個整數,我們對它們進行除法運算,其中第二個整數是零,這將導致異常。
輸出
它將產生以下輸出。
main.rb:1:in `': undefined local variable or method `value' for main:Object (NameError)
我們在上面的例子中看到,由於程式碼中的一些錯誤,我們遇到一個異常,但我們甚至可以使用raise關鍵字建立我們自己的異常。
示例 2
考慮以下程式碼。
# defining a method def raising_exception puts 'Before Exception!' # using raise to create exception raise 'Exception Created' puts 'After Exception Arise' end # Calling the method raising_exception
在這個程式中,我們正在建立一個新的異常,然後我們在丟擲異常的方法中新增兩個日誌。
需要注意的是,一旦遇到異常,之後就不會列印任何日誌,因為程式會停止執行。
輸出
它將產生以下輸出。
Before Exception! Traceback (most recent call last): 1: from main.rb:13:in `<main>' main.rb:7:in `raising_exception': Exception Created (RuntimeError)
示例 3
既然我們已經瞭解了異常的工作原理以及如何建立異常,讓我們來看一個如何透過示例處理異常的例子。考慮以下程式碼
# defining a method def rescue_from_raise begin puts 'Before Exception!' # using raise to create an exception raise 'Exception Created!' puts 'After Exception!' # using Rescue method rescue puts 'Saved!' end puts 'Outside!' end # calling method rescue_from_raise
輸出
它將產生以下輸出。
Before Exception! Saved! Outside!
廣告
資料結構
網路
關係型資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP