Домой Учебники по Java и J2EE Как создать простое исключение тайм-аута в Java?

Как создать простое исключение тайм-аута в Java?

408
0

В Java, как сгенерировать простое TimeoutException?

В этом уроке мы сгенерируем вызов времени ожидания Google.com с простой задержкой 10 миллисекунд. CrunchifyGenerateTimeout — это публичный звонок, в котором мы звоним на google.com, используя connection.connect() ,

CrunchifyGenerateTimeout.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
пакет crunchify. ком . учебник ;
импорт Java . Ио. BufferedReader ;
импорт Java . Ио. IOException ;
импорт Java . Ио. InputStreamReader ;
импорт Java . нетто. HttpURLConnection ;
импорт Java . нетто. URL ;
/ **
* @author Crunchify.com
* Программа: Как сгенерировать простое исключение TimeoutException для определенного IP в Java
* Версия: 1.0.1
*
* /
общественности учебный класс CrunchifyGenerateTimeout {
общественности статический недействительным main ( Строка [ ] аргументы ) бросает исключение {
новый CrunchifyGenerateTimeout ( ) ;
}
общественности CrunchifyGenerateTimeout ( ) {
пытаться {
строка myUrl знак равно https://google.com/ ;
// myUrl = URLEncoder.encode (myUrl, UTF-8);
строка Результаты знак равно crunchifyCallURL ( myUrl ) ;
Система. вне. println ( результаты ) ;
} ловить ( Исключение е ) {
эл . printStackTrace ( ) ;
}
}
/ **
* Просто верните результат URL звонка.
*
* @param crunchifyURL
* @вернуть
* Исключения @throws
* /
частный строка crunchifyCallURL ( String crunchifyURL ) бросает исключение {
URL crunchURL знак равно ноль ;
BufferedReader crunchReader знак равно ноль ;
StringBuilder crunchBuilder;
пытаться {
// создаем HttpURLConnection
crunchURL знак равно новый URL ( crunchifyURL ) ;
подключение HttpURLConnection знак равно ( HttpURLConnection ) crunchURL . openConnection ( ) ;
// Давайте сделаем вызов GET
подключение. setRequestMethod ( GET ) ;
// Текущее время ожидания 10 миллисекунд — для генерации ошибки времени ожидания
подключение. setReadTimeout ( 10 ) ;
подключение. подключиться ( ) ;
// Просто читаем результат и печатаем строку
crunchReader знак равно новый BufferedReader ( новый InputStreamReader ( connection . GetInputStream ( ) ) ) ;
crunchBuilder знак равно новый StringBuilder ( ) ;
строка каждая строка знак равно ноль ;
в то время как ( ( каждая строка знак равно crunchReader . readLine ( ) ) ! знак равно ноль ) {
crunchBuilder . добавить ( каждая строка + / n ) ;
}
вернуть crunchBuilder . toString ( ) ;
} ловить ( Исключение и др. ) {
эт . printStackTrace ( ) ;
бросать et ;
} в конце концов {
если ( crunchReader ! знак равно ноль ) {
пытаться {
crunchReader . закрыть ( ) ;
} ловить ( IOException ioException ) {
ioException . printStackTrace ( ) ;
}
}
}
}
}

Просто запустите вышеуказанную программу как Java-приложение, и вы сможете сгенерировать TimeoutException в консоли Eclipse.

Если вы увеличите ReadTimeout до 1000 миллисекунд, вы не сможете восстановить исключение.

// connection .setReadTimeout (1000);

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Java. нетто. SocketTimeoutException : Тайм- аут чтения
в Яве . база / Java . нетто. SocketInputStream . socketRead0 ( Native Метод )
в Яве . база / Java . нетто. SocketInputStream . socketRead ( SocketInputStream . java : 116 )
в Яве . база / Java . нетто. SocketInputStream . читать ( SocketInputStream . Java : 171 )
в Яве . база / Java . нетто. SocketInputStream . читать ( SocketInputStream . Java : 141 )
в Яве . база / солнце . безопасность. SSL. SSLSocketInputRecord . читать ( SSLSocketInputRecord . Java : 425 )
в Яве . база / солнце . безопасность. SSL. SSLSocketInputRecord . декодировать ( SSLSocketInputRecord . Java : 154 )
в Яве . база / солнце . безопасность. SSL. SSLSocketImpl . readRecord ( SSLSocketImpl . Java : 1031 )
в Яве . база / солнце . безопасность. SSL. SSLSocketImpl . readRecord ( SSLSocketImpl . Java : 973 )
в Яве . база / солнце . безопасность. SSL. SSLSocketImpl . executeInitialHandshake ( SSLSocketImpl . java : 1402 )
в Яве . база / солнце . безопасность. SSL. SSLSocketImpl . startHandshake ( SSLSocketImpl . Java : 1429 )
в Яве . база / солнце . безопасность. SSL. SSLSocketImpl . startHandshake ( SSLSocketImpl . Java : 1413 )
в Яве . база / солнце . нетто. www . протокол. https . HttpsClient . afterConnect (. HttpsClient Java: 567)
в Яве . база / солнце . нетто. www . протокол. https . AbstractDelegateHttpsURLConnection . connect ( AbstractDelegateHttpsURLConnection . java : 185 )
в Яве . база / солнце . нетто. www . протокол. https . HttpsURLConnectionImpl . подключиться ( HttpsURLConnectionImpl . Java : 163 )
в crunchify. ком . учебник . CrunchifyGenerateTimeout . doHttpUrlConnectionAction ( CrunchifyGenerateTimeout . java : 60 )
в crunchify. ком . учебник . CrunchifyGenerateTimeout . < init > ( CrunchifyGenerateTimeout . java : 29 )
в crunchify. ком . учебник . CrunchifyGenerateTimeout . main ( CrunchifyGenerateTimeout . java : 20 )
Java. нетто. SocketTimeoutException : Тайм- аут чтения
в Яве . база / Java . нетто. SocketInputStream . socketRead0 ( Native Метод )
в Яве . база / Java . нетто. SocketInputStream . socketRead ( SocketInputStream . java : 116 )
в Яве . база / Java . нетто. SocketInputStream . читать ( SocketInputStream . Java : 171 )
в Яве . база / Java . нетто. SocketInputStream . читать ( SocketInputStream . Java : 141 )
в Яве . база / солнце . безопасность. SSL. SSLSocketInputRecord . читать ( SSLSocketInputRecord . Java : 425 )
в Яве . база / солнце . безопасность. SSL. SSLSocketInputRecord . декодировать ( SSLSocketInputRecord . Java : 154 )
в Яве . база / солнце . безопасность. SSL. SSLSocketImpl . readRecord ( SSLSocketImpl . Java : 1031 )
в Яве . база / солнце . безопасность. SSL. SSLSocketImpl . readRecord ( SSLSocketImpl . Java : 973 )
в Яве . база / солнце . безопасность. SSL. SSLSocketImpl . executeInitialHandshake ( SSLSocketImpl . java : 1402 )
в Яве . база / солнце . безопасность. SSL. SSLSocketImpl . startHandshake ( SSLSocketImpl . Java : 1429 )
в Яве . база / солнце . безопасность. SSL. SSLSocketImpl . startHandshake ( SSLSocketImpl . Java : 1413 )
в Яве . база / солнце . нетто. www . протокол. https . HttpsClient . afterConnect (. HttpsClient Java: 567)
в Яве . база / солнце . нетто. www . протокол. https . AbstractDelegateHttpsURLConnection . connect ( AbstractDelegateHttpsURLConnection . java : 185 )
в Яве . база / солнце . нетто. www . протокол. https . HttpsURLConnectionImpl . подключиться ( HttpsURLConnectionImpl . Java : 163 )
в crunchify. ком . учебник . CrunchifyGenerateTimeout . doHttpUrlConnectionAction ( CrunchifyGenerateTimeout . java : 60 )
в crunchify. ком . учебник . CrunchifyGenerateTimeout . < init > ( CrunchifyGenerateTimeout . java : 29 )
в crunchify. ком . учебник . CrunchifyGenerateTimeout . main ( CrunchifyGenerateTimeout . java : 20 )
Как создать простое исключение тайм-аута в Java?

0.00 (0%) 0 votes

ЧИТАТЬ ТАКЖЕ:  Как поменять число в Java? Использование while Loop и Java Recursion методов

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь