如何在 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!

更新於:2022年4月12日

瀏覽量 135 次

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.