JavaRush /جاوا بلاگ /Random-SD /جاوا ۾ استثنا بابت مٿي 10 سوال
raynn
سطح
Нижний Новгород

جاوا ۾ استثنا بابت مٿي 10 سوال

گروپ ۾ شايع ٿيل
مضمون بيان ڪري ٿو 10 اڪثر پڇيا ويا سوال جاوا ۾ استثنا بابت. جاوا ۾ استثنا بابت مٿيان 10 سوال - 1

1. قابل تصديق ۽ ناقابل تصديق

مختصر ۾، چڪاس ٿيل استثنا واضح طور تي طريقي جي جسم ۾ پڪڙيو وڃي يا طريقي جي اڇلائي سيڪشن ۾ اعلان ڪيو وڃي. اڻ چيڪ ٿيل استثنا انهن مسئلن جي ڪري پيدا ٿين ٿا جيڪي حل نه ٿي سگھن ٿيون، جهڙوڪ 0 طرفان تقسيم، null پوائنٽر، وغيره. چيڪ ٿيل استثنا خاص طور تي اهم آهن ڇو ته توهان توقع ڪندا آهيو ته ٻيا ڊولپرز توهان جي API استعمال ڪندي ڄاڻن ٿا ته استثنا کي ڪيئن سنڀالجي. مثال طور، IOException عام طور تي استعمال ٿيل چيڪ ٿيل استثنا آهي، جڏهن ته RuntimeException هڪ اڻ چيڪ ٿيل استثنا آهي. وڌيڪ پڙهڻ کان اڳ، جاوا ۾ هائيررڪيڪل استثنا ڊراگرام چيڪ ڪريو .

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. Stackoverflow تي استثنا بابت سوال
اصل مضمون
ٻيو ڇا پڙهو:

جاوا ۾ استثنا

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