الفرق بين المراجعتين لصفحة: «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>Exception</code> بشكل صريح ستُعالج كل أخطاء <code>StandardErrors</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">
require 'does/not/exist' rescue "Hi"
 
</syntaxhighlight>ستطلق الاستثناء:<syntaxhighlight lang="ruby">
</syntaxhighlight>ستطلق الاستثناء:<syntaxhighlight lang="ruby">
SecurityError: Insecure: Insecure operation `untaint' at level 3
LoadError: no such file to load -- does/not/exist


</syntaxhighlight>{{DISPLAYTITLE: صفحة الاستثناء <code>StandardError</code> في روبي}}</noinclude>
</syntaxhighlight>{{DISPLAYTITLE: صفحة الاستثناء <code>StandardError</code> في روبي}}</noinclude>
سطر 14: سطر 15:


== مصادر ==
== مصادر ==
*[http://ruby-doc.org/core-2.5.1/SecurityError.html قسم  الاستثناء StandardError في توثيق روبي الرسمي.]
*[http://ruby-doc.org/core-2.5.1/StandardError.html قسم  الاستثناء StandardError في توثيق روبي الرسمي.]

مراجعة 11:14، 2 نوفمبر 2018

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

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

من جهة أخرى:

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

ستطلق الاستثناء:

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

مصادر