JavaRush /Java блогу /Random-KY /Javaдагы өзгөчөлүктөр жөнүндө эң мыкты 10 суроо
raynn
Деңгээл
Нижний Новгород

Javaдагы өзгөчөлүктөр жөнүндө эң мыкты 10 суроо

Группада жарыяланган
Макалада Javaдагы өзгөчөлүктөр жөнүндө эң көп берилүүчү 10 суроо сүрөттөлөт. Javaдагы өзгөчөлүктөр жөнүндө эң мыкты 10 суроо - 1

1. Текшерилүүчү жана текшерилбеген

Кыскача айтканда, текшерилген өзгөчөлүктөр методдун денесинде ачык кармалышы керек же методдун ыргытуу бөлүмүндө жарыяланышы керек. Текшерилбеген өзгөчөлүктөр чечилбей турган көйгөйлөрдөн келип чыгат, мисалы, 0гө бөлүү, нөл көрсөткүч, ж.б. Текшерилген өзгөчөлүктөр өзгөчө маанилүү, анткени сиз API'ңизди колдонгон башка иштеп чыгуучулардан өзгөчөлүктөр менен иштөөнү бorшин күтөсүз. Мисалы, IOException көбүнчө колдонулган текшерилген өзгөчө учур, ал эми RuntimeException - текшерилбеген өзгөчө учур. Андан ары окуудан мурун, Java тorндеги иерархиялык өзгөчөлүктөр диаграммасын текшериңиз .

2. Өзгөчө учурларды чечүүнүн эң жакшы жолу

Эгерде өзгөчөлүктү туура иштетүү мүмкүн болсо, анда аны кармоо керек, антпесе аны кайра жөнөтүү керек.

3. Эмне үчүн tryда аныкталган өзгөрмөлөрдү catch же акырында колдонууга болбойт?

Коддун кийинки бөлүгүндө, try блогунда жарыяланган сапты кармоо блогунда колдонууга болбойт. Бул code түзүлбөйт.
try {
	File file = new File("path");
	FileInputStream fis = new FileInputStream(file);
	String s = "inside";
} catch (FileNotFoundException e) {
	e.printStackTrace();
	System.out.println(s);
}
Себеби, аракет блогунда өзгөчөлүктү кайсы жерге таштаганы белгисиз. Мүмкүн, өзгөчө an object жарыяланганга чейин ыргытылган. Жана бул мисал үчүн чындык.

4. Эмне үчүн Double.parseDouble(null) жана Integer.parseInt(null) ар кандай өзгөчөлүктөрдү жаратат?

Туура, алар ар кандай өзгөчөлүктөрдү көтөрүшөт. Бул JDK маселеси. Алар жөн гана ар кандай адамдар тарабынан иштелип чыккан, жана сиз бул жөнүндө көп кабатырланбашыңыз керек.
Integer.parseInt(null);
// вызывает java.lang.NumberFormatException: null

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

5. Javaдагы негизги иштөө убактысынан өзгөчөлүктөр

Бул жерде алардын бир канчасы гана:
IllegalArgumentException
ArrayIndexOutOfBoundsException
Шарт аткарылбаса, алар if операторунда колдонулушу мүмкүн, мисалы:
if (obj == null) {
   throw new IllegalArgumentException("obj не может быть равно null");

6. Бир кармоо блогунда бир нече өзгөчөлүктү кармоо мүмкүнбү?

Жооп ооба. Бул өзгөчөлүктөрдүн класстары класстын мурас иерархиясынан бир эле суперкласска чейин байкалса, ошол суперклассты гана колдонсо болот.

7. Конструктор өзгөчөлүктү таштай алабы?

Жооп ооба. Конструктор - бул ыкманын өзгөчө түрү. Бул жерде бир code мисалы болуп саналат.

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();
		}
	}
}
Бирок codeдун окууга жөндөмдүүлүгүн сактап калуу үчүн, уя салынган блокту жаңы ыкма катары жарыялоо керек 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. Finally блогунда return колдонсо болобу?

Ооба болот.

10. Эмне үчүн иштеп чыгуучулар өзгөчө учурларды тынч чечишет?

Мисалы, мындай codeдор көп кездешет. Эгерде өзгөчө кырдаалды туура иштетүү абдан маанилүү болсо, эмне үчүн иштеп чыгуучулар аны ушинтип жаза беришет?
try {
     ...
} catch(Exception e) {
     e.printStackTrace();
}
Аны этибарга алуу эң оңой. Бирок бул көп учурда жасалса да, бул туура дегенди билдирбейт. Шилтемелер:
  1. Java'да белгиленбеген өзгөчөлүктөр
  2. Javaдагы иерархиялык өзгөчө дарактын тамыры
  3. Stackoverflow боюнча өзгөчөлүктөр жөнүндө суроолор
Оригиналдуу макала
Дагы эмнени окуу керек:

Javaдагы өзгөчөлүктөр

Комментарийлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION