Skip to content

Commit 4e8a086

Browse files
committed
Pass exception to onError. Fixes #1005.
1 parent dcfd238 commit 4e8a086

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

webmagic-core/src/main/java/us/codecraft/webmagic/Spider.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,7 @@ public void run() {
320320
processRequest(request);
321321
onSuccess(request);
322322
} catch (Exception e) {
323-
onError(request);
323+
onError(request, e);
324324
logger.error("process request " + request + " error", e);
325325
} finally {
326326
pageCount.incrementAndGet();
@@ -338,10 +338,19 @@ public void run() {
338338
logger.info("Spider {} closed! {} pages downloaded.", getUUID(), pageCount.get());
339339
}
340340

341+
/**
342+
* @deprecated Use {@link #onError(Request, Exception)} instead.
343+
*/
344+
@Deprecated
341345
protected void onError(Request request) {
346+
}
347+
348+
protected void onError(Request request, Exception e) {
349+
this.onError(request);
350+
342351
if (CollectionUtils.isNotEmpty(spiderListeners)) {
343352
for (SpiderListener spiderListener : spiderListeners) {
344-
spiderListener.onError(request);
353+
spiderListener.onError(request, e);
345354
}
346355
}
347356
}

webmagic-core/src/main/java/us/codecraft/webmagic/SpiderListener.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,14 @@ public interface SpiderListener {
1010

1111
public void onSuccess(Request request);
1212

13+
/**
14+
* @deprecated Use {@link #onError(Request, Exception)} instead.
15+
*/
16+
@Deprecated
1317
public void onError(Request request);
18+
19+
default void onError(Request request, Exception e) {
20+
this.onError(request);
21+
}
22+
1423
}

0 commit comments

Comments
 (0)