الفرق بين المراجعتين ل"Ruby/IOError"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: صفحة الصنف <code>IOError</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby IOError يُطلق الاستث...')
 
سطر 2: سطر 2:
 
[[تصنيف: Ruby]]
 
[[تصنيف: Ruby]]
 
[[تصنيف: Ruby IOError]]
 
[[تصنيف: Ruby IOError]]
يُطلق الاستثناء <code>IOError</code> في حال امتلاء المُكدس (stack overflow).<syntaxhighlight lang="ruby">
+
يُطلق الاستثناء <code>IOError</code> عند فشل عملية [[Ruby/IO|د/خ]] (IO operation)<syntaxhighlight lang="ruby">
def me_myself_and_i
+
File.open("/etc/hosts") {|f| f << "example"}
  me_myself_and_i
+
  #=> IOError: not opened for writing
end
 
me_myself_and_i
 
</syntaxhighlight>سيُطلق الاستثناء:<syntaxhighlight lang="ruby">
 
SystemStackError: stack level too deep
 
  
 +
File.open("/etc/hosts") {|f| f.close; f.read }
 +
  #=> IOError: closed stream
 +
</syntaxhighlight>تذكر أن فشل بعض عمليات [[Ruby/IO|د/خ]] (IO operation) قد يؤدي إلى  إطلاق الاستثناءات <code>SystemCallError</code>، وهذه الاستثناءات ليست متفرعة من الصنف <code>IOError</code>.<syntaxhighlight lang="ruby">
 +
File.open("does/not/exist")
 +
  #=> Errno::ENOENT: No such file or directory - does/not/exist
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
==مصادر==
 
==مصادر==
*[http://ruby-doc.org/core-2.5.1/SystemStackError.html قسم  الصنف IOError في توثيق روبي الرسمي.]
+
*[http://ruby-doc.org/core-2.5.1/IOError.html قسم  الصنف IOError في توثيق روبي الرسمي.]

مراجعة 23:36، 13 نوفمبر 2018

يُطلق الاستثناء IOError عند فشل عملية د/خ (IO operation)

File.open("/etc/hosts") {|f| f << "example"}
  #=> IOError: not opened for writing

File.open("/etc/hosts") {|f| f.close; f.read }
  #=> IOError: closed stream

تذكر أن فشل بعض عمليات د/خ (IO operation) قد يؤدي إلى إطلاق الاستثناءات SystemCallError، وهذه الاستثناءات ليست متفرعة من الصنف IOError.

File.open("does/not/exist")
  #=> Errno::ENOENT: No such file or directory - does/not/exist

مصادر