Ответ
В Android/Java есть несколько основных видов исключений:
- Checked Exceptions - проверяемые (наследники
Exception), требуют обработки:
try {
FileInputStream file = new FileInputStream("file.txt");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
- Unchecked Exceptions - непроверяемые (наследники
RuntimeException):
// NullPointerException, IndexOutOfBoundsException и т.д.
String str = null;
str.length(); // NullPointerException
-
Errors - критические ошибки (
OutOfMemoryError,StackOverflowError), обычно не перехватываются. -
Custom Exceptions - пользовательские исключения:
class NetworkException extends Exception {
public NetworkException(String message) {
super(message);
}
}
В Kotlin нет checked exceptions, все исключения - unchecked.