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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'يُطلق الاستثناء <code>SecurityError</code> عند محاولة تنفيذ عملية قد تكون غير آمنة، عادة عندما يُرفع مست...')
 
ط (مراجعة وتدقيق.)
 
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة)
سطر 1: سطر 1:
يُطلق الاستثناء <code>SecurityError</code> عند محاولة تنفيذ عملية قد تكون غير آمنة، عادة عندما يُرفع مستوى  ‎<code>$SAFE</code>  فوق <code>0</code><syntaxhighlight lang="ruby">
+
معظم أخطاء الأنواع تنحدر من الصنف <code>StandardError</code>؛ ستُعالج الكتلة <code>rescue</code> التي لا تحدد الصنف <code>[[Ruby/Exception|Exception]]</code> بشكل صريح كل الأخطاء <code>StandardError</code> (دون غيرها).<syntaxhighlight lang="ruby">
foo = "bar"
+
def foo
proc = Proc.new do
+
  raise "Oups"
  $SAFE = 3
 
  foo.untaint
 
 
end
 
end
proc.call
+
foo rescue "Hello"  #=> "Hello"
</syntaxhighlight>ستطلق الاستثناء:<syntaxhighlight lang="ruby">
+
</syntaxhighlight>الشيفرة التالية:<syntaxhighlight lang="ruby">
SecurityError: Insecure: Insecure operation `untaint' at level 3
+
require 'does/not/exist' rescue "Hi"
  
</syntaxhighlight>{{DISPLAYTITLE: صفحة الاستثناء <code>StandardError</code> في روبي}}</noinclude>
+
</syntaxhighlight>ستطلق استثناء بالشكل التالي:<syntaxhighlight lang="text">
 +
LoadError: no such file to load -- does/not/exist
 +
 
 +
</syntaxhighlight>{{DISPLAYTITLE:الصنف <code>StandardError</code> في روبي}}</noinclude>
 
[[تصنيف: Ruby]]
 
[[تصنيف: Ruby]]
[[تصنيف: Ruby StandardError]]
+
[[تصنيف: Ruby Class]]
 +
[[تصنيف: Ruby Error]]
  
 
== مصادر ==
 
== مصادر ==
*[http://ruby-doc.org/core-2.5.1/SecurityError.html قسم  الاستثناء StandardError في توثيق روبي الرسمي.]
+
*[http://ruby-doc.org/core-2.5.1/StandardError.html صفحة الصنف StandardError في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 09:20، 4 ديسمبر 2018

معظم أخطاء الأنواع تنحدر من الصنف StandardError؛ ستُعالج الكتلة rescue التي لا تحدد الصنف Exception بشكل صريح كل الأخطاء StandardError (دون غيرها).

def foo
  raise "Oups"
end
foo rescue "Hello"   #=> "Hello"

الشيفرة التالية:

require 'does/not/exist' rescue "Hi"

ستطلق استثناء بالشكل التالي:

LoadError: no such file to load -- does/not/exist

مصادر