JavaRush /جاوا بلاگ /Random-UR /جاوا میں مستثنیات کے بارے میں سرفہرست 10 سوالات
raynn
سطح
Нижний Новгород

جاوا میں مستثنیات کے بارے میں سرفہرست 10 سوالات

گروپ میں شائع ہوا۔
مضمون جاوا میں مستثنیات کے بارے میں اکثر پوچھے جانے والے 10 سوالات کی وضاحت کرتا ہے۔ جاوا میں مستثنیات کے بارے میں سرفہرست 10 سوالات - 1

1. قابل تصدیق اور ناقابل تصدیق

مختصراً، چیک شدہ مستثنیات کو واضح طور پر طریقہ کار میں پکڑا جانا چاہیے یا طریقہ کے تھرو سیکشن میں اعلان کیا جانا چاہیے۔ غیر چیک شدہ مستثنیات ان مسائل کی وجہ سے ہوتی ہیں جنہیں حل نہیں کیا جا سکتا، جیسے 0 سے تقسیم، null pointer وغیرہ۔ چیک شدہ مستثنیات خاص طور پر اہم ہیں کیونکہ آپ توقع کرتے ہیں کہ آپ کا API استعمال کرنے والے دوسرے ڈویلپرز مستثنیات کو ہینڈل کرنے کا طریقہ جانتے ہیں۔ مثال کے طور پر، IOException عام طور پر استعمال شدہ چیک شدہ استثناء ہے، جبکہ RuntimeException ایک غیر چیک شدہ استثناء ہے۔ مزید پڑھنے سے پہلے، جاوا میں Hierarchical Exception Diagram کو دیکھیں ۔

2. مستثنیات سے نمٹنے کا بہترین طریقہ

اگر استثنیٰ کو صحیح طریقے سے ہینڈل کیا جا سکتا ہے، تو اسے ضرور پکڑا جائے، ورنہ اسے آگے بھیج دیا جائے۔

3. کوشش میں متعین کردہ متغیر کو کیچ یا آخر میں کیوں استعمال نہیں کیا جا سکتا؟

کوڈ کے مندرجہ ذیل ٹکڑے میں، ٹرائی بلاک میں اعلان کردہ لائن کو کیچ بلاک میں استعمال نہیں کیا جا سکتا۔ یہ کوڈ مرتب نہیں ہوگا۔
try {
	File file = new File("path");
	FileInputStream fis = new FileInputStream(file);
	String s = "inside";
} catch (FileNotFoundException e) {
	e.printStackTrace();
	System.out.println(s);
}
وجہ یہ ہے کہ یہ معلوم نہیں ہے کہ ٹرائی بلاک میں مستثنیٰ کہاں پھینکا گیا ہو گا۔ یہ ممکن ہے کہ اعتراض کے اعلان سے پہلے استثناء پھینک دیا گیا ہو۔ اور یہ اس مثال کے لیے سچ ہے۔

4. Double.parseDouble(null) اور Integer.parseInt(null) مختلف مستثنیات کیوں دیتے ہیں؟

یہ ٹھیک ہے، وہ مختلف مستثنیات اٹھاتے ہیں۔ یہ JDK کا مسئلہ ہے۔ وہ آسانی سے مختلف لوگوں کے ذریعہ ڈیزائن کیے گئے تھے، اور آپ کو اس کے بارے میں زیادہ فکر نہیں کرنی چاہیے۔
Integer.parseInt(null);
// вызывает java.lang.NumberFormatException: null

Double.parseDouble(null);
// вызывает java.lang.NullPointerException

5. جاوا میں بنیادی رن ٹائم مستثنیات

ان میں سے چند یہ ہیں:
IllegalArgumentException
ArrayIndexOutOfBoundsException
جب شرط پوری نہیں ہوتی ہے تو انہیں if بیان میں استعمال کیا جا سکتا ہے، جیسے یہاں:
if (obj == null) {
   throw new IllegalArgumentException("obj не может быть равно null");

6. کیا ایک کیچ بلاک میں متعدد مستثنیات کو پکڑنا ممکن ہے؟

جواب ہاں میں ہے۔ جب تک ان مستثنیات کی کلاسوں کو ایک ہی سپر کلاس میں کلاس وراثت کے درجہ بندی کا پتہ لگایا جاسکتا ہے، صرف وہی سپر کلاس استعمال کیا جاسکتا ہے۔

7. کیا کنسٹرکٹر مستثنیات دے سکتا ہے؟

جواب ہاں میں ہے۔ کنسٹرکٹر صرف ایک خاص قسم کا طریقہ ہے۔ یہاں ایک کوڈ کی مثال ہے۔

8. فائنل بلاک میں مستثنیات پھینکنا

اصولی طور پر، آپ قانونی طور پر یہ کر سکتے ہیں:
public static void main(String[] args) {
	File file1 = new File("path1");
	File file2 = new File("path2");
	try {

		FileInputStream fis = new FileInputStream(file1);
	} catch (FileNotFoundException e) {
		e.printStackTrace();
	} finally {
		try {
			FileInputStream fis = new FileInputStream(file2);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}
	}
}
لیکن کوڈ کی پڑھنے کی اہلیت کو برقرار رکھنے کے لیے، آپ کو نیسٹڈ بلاک کو try-catchایک نئے طریقہ کے طور پر ڈکلیئر کرنے کی ضرورت ہے، اور بلاک میں اس طریقہ کے لیے کال داخل کرنے کی ضرورت ہے finally۔
public static void main(String[] args) {
	File file1 = new File("path1");
	File file2 = new File("path2");
	try {

		FileInputStream fis = new FileInputStream(file1);
	} catch (FileNotFoundException e) {
		e.printStackTrace();
	} finally {
		methodThrowException();
	}
}

9. کیا حتمی بلاک میں واپسی کا استعمال ممکن ہے؟

ہاں تم کر سکتے ہو.

10. ڈویلپرز مستثنیات کو خاموشی سے کیوں سنبھالتے ہیں؟

مثال کے طور پر، کوڈ کے ایسے ٹکڑے اکثر ظاہر ہوتے ہیں۔ اگر مناسب استثنیٰ ہینڈلنگ بہت اہم ہے تو، ڈویلپرز اسے اس طرح کیوں لکھتے رہتے ہیں؟
try {
     ...
} catch(Exception e) {
     e.printStackTrace();
}
نظر انداز کرنا سب سے آسان ہے۔ لیکن اگر اکثر ایسا کیا جائے تو بھی اس کا مطلب یہ نہیں کہ یہ درست ہے۔ لنکس:
  1. جاوا میں غیر نشان زد مستثنیات
  2. جاوا میں درجہ بندی کے استثنائی درخت کی جڑ
  3. اسٹیک اوور فلو پر مستثنیات کے بارے میں سوالات
اصل آرٹیکل
اور کیا پڑھنا ہے:

جاوا میں مستثنیات

تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION