Exception Handling Flashcards

1
Q

What is exception?

A
  • неочаквано събитие, което нарушава потока на работа на програмата
  • обект от клас java.lang.Throwable
  • хвърля се в Run-Time
  • носи информация за типа на грешката и състоянието на програмата в момента на грешката
  • може да бъде обработено чрез try-catch
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the different types of exceptions in Java?

A
  • checked (compile-time) - наследява от класа Exception
  • unchecked (run-time) - наследява от RuntimeException
  • errors - наследява от Error
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

How can we apply exception handling in Java?

A
  • механизъм за прихващане на изключения
  • позволява ни да предприемем мерки, за да възстановим нормалното изпълнение
  • използваме try-catch block
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the specifics of try, catch and finally blocks?

A
  • try:
  • позволява да оградим кода, който може да хвърли exception
  • трябва да се изпълнява в метода
  • ако се появи изключение, try не се изпълнява нататък
  • трябва да бъде последван от catch или finally
  • добра практика е да се използва само при вероятност от exception в блока
  • catch:
  • обработва exception-a
  • трябва да кажем за какъв тип изключение отговаря (първо най-специфичните, после най-общите)
  • използва се само след try
  • може да бъде последван от finally block
  • може да има повече от един catch block
  • един catch може да обработи много exception-и, стига всички да изискват едно и също решение
  • finally:
  • изпълнява се независимо дали има exception или не
  • използва се за важен код и затваряне на потоци
  • може да има само един finally block
  • винаги следва try или catch block
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

When and how should we throw exceptions?

A
  • когато метод не може да продължи своето изпълнение
  • ключовата дума е “throw”
  • exception-ите се обработват от други методи, които знаят какво да правят с тях
  • можем да хвърляме checked или unchecked
  • ако метод хвърля checked exception, то трябва да декларира какъв тип exception хвърля чрез ключовата дума “throws”
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

List some best practices for exception handling?

A
  • използваме exceptions само при наистина нетипични ситуации
  • само когато методът не може да се изпълни
  • да хващаме exceptions където можем да ги обработим най-добре
  • не използваме exceptions ако могат да бъдат заместени с if-else
  • избягваме излишна употреба на checked exceptions
  • хващаме първо най-специфичния exception
  • не хващаме throwable
  • не игнорираме exceptions (не оставяме празни catch блокове)
  • избягваме в catch да имаме само записана информация за изключението и повторно хвърляне
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is stream and what are the main types in Java?

A
  • последователност от данни, които преминават от източника към получателя
  • могат да бъдат входни или изходи потоци
  • Byte and Character:
  • Byte - представлява сурови двоични данни, в които всеки byte = 8-bit (аудио, видео и изображения)
  • Character - представлява текстови данни с 16-bit Unicode символи
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is try-with-resources and why do we use it?

A
  • конструкция в Java, която автоматично затваря ресурси след използването им
  • ресурсът трябва да имплементира AutoClosable интерфейса
  • ресурсите, които са декларирани първи, ще бъдат затворени последно
  • може да има catch и finally block
How well did you know this?
1
Not at all
2
3
4
5
Perfectly