powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / RuntimeException, Exception и, например, SQLException, разница?
7 сообщений из 7, страница 1 из 1
RuntimeException, Exception и, например, SQLException, разница?
    #34629095
junixar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем, привет. Объясните, пожалуйста, в чём разница, почему код
Код: plaintext
1.
2.
3.
 try {}
 catch  (Exception ex)
{}
компилируется, а код, к примеру
Код: plaintext
1.
2.
3.
 try {}
 catch  (java.sql.SQLException ex)
{}
не компилируется? (Unreachable catch block)

Было бы понятно, если бы в первом варианте был наследник RuntimeException. А так - не понятно.

Всем заранее спасибо.
...
Рейтинг: 0 / 0
RuntimeException, Exception и, например, SQLException, разница?
    #34629163
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
junixarВсем, привет. Объясните, пожалуйста, в чём разница, почему код
Код: plaintext
1.
2.
3.
 try {}
 catch  (Exception ex)
{}
компилируется, а код, к примеру
Код: plaintext
1.
2.
3.
 try {}
 catch  (java.sql.SQLException ex)
{}
не компилируется? ( Unreachable catch block )

Было бы понятно, если бы в первом варианте был наследник RuntimeException. А так - не понятно.

Всем заранее спасибо.
Не ври. Ошибка будет другая.
http://java.sun.com/docs/books/jls/second_edition/html/exceptions.doc.html
...
Рейтинг: 0 / 0
RuntimeException, Exception и, например, SQLException, разница?
    #34629224
junixar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исправляюсь, будет так:
exception java.sql.SQLException is never thrown in body of corresponding try statement
...
Рейтинг: 0 / 0
RuntimeException, Exception и, например, SQLException, разница?
    #34629263
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
junixarИсправляюсь, будет так:
exception java.sql.SQLException is never thrown in body of corresponding try statement

Это значит примерно следующее: "В данном блоке SQLException возникнуть никогда не может, т.к. нет ни одного вызова из java.sql."
...
Рейтинг: 0 / 0
RuntimeException, Exception и, например, SQLException, разница?
    #34629294
vas0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если коротко то так:
Код: plaintext
1.
2.
 public   class  Throwable  implements  Serializable {
...
}
корень всех бед в Java.

Код: plaintext
1.
2.
 public   class  Error  extends  Throwable {
...
}
системные ошибки (серьезные), их прикладным программистам обрабатывать не надо. В идеале это то что никогда не должно произойти. Писать такие ошибки в сигнатуру метода throws не надо. (Пример java машина падает по OutOfMemoryError.

Код: plaintext
1.
2.
 public   class  Exception  extends  Throwable {
...
}
проверяемые исключения, за их обработкой следит компилятор. Код не откомпилируется пока код не будет помещен в блок try/catch или нужно добавить throws. Некоторые считают что проверяемые исключения зло...

Код: plaintext
1.
2.
 public   class  RuntimeException  extends  Exception {
...
}
непроверяемые исключения, компилятору на них пофиг. Программист должен сам следить за обработкой такий исключений (компилятор не помогает).
...
Рейтинг: 0 / 0
RuntimeException, Exception и, например, SQLException, разница?
    #34631062
junixar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что означает ошибка, которую выдаёт компилятор, я прекрасно понимаю, спасибо.

В чём отличие Exception, RuntimeException и Error - тоже понимаю. Но заданный вопрос пока без ответа.

В чём отличие для компилятора между Exception и SQLException? Оба являются checked, должны либо явно перехватываться, либо объявляться как throws.

Почему в одном случае компилятор выдаёт ошибку, а в другом нет? Может быть потому, что RuntimeException наследуется от Exception и не наследуется от SQLException?
...
Рейтинг: 0 / 0
RuntimeException, Exception и, например, SQLException, разница?
    #34631118
vas0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
junixarНо заданный вопрос пока без ответа. Нужен пример кода чтобы понимать о чем речь идет, а то так долго можно гадать.
junixarВ чём отличие для компилятора между Exception и SQLException? Допустим такой пример
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
     public   void  test(){


         // так откомпилируется, так как оба исключения обрабатываются
         try  {
            // тут может произойти IOException или SQLException
        }  catch  (Exception e) {
            e.printStackTrace();
        }


         // так не откомпилируется, так как обрабатывается только SQLException
         try  {
            // тут может произойти IOException или SQLException
        }  catch  (SQLException e) {
            e.printStackTrace();
        }
    }
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / RuntimeException, Exception и, например, SQLException, разница?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]