package com.crawler.exception.handler; import com.crawler.exception.HttpRequestException; import com.crawler.exception.NetworkException; import com.crawler.exception.TimeoutException; import com.crawler.exception.ExceptionHandler; import com.crawler.view.CrawlerView; public class NetworkExceptionHandler implements ExceptionHandler { @Override public void handle(Exception e, CrawlerView view) { if (e instanceof HttpRequestException) { HttpRequestException ex = (HttpRequestException) e; view.showErrorMessage("HTTP请求失败,状态码: " + ex.getStatusCode()); } else if (e instanceof TimeoutException) { view.showErrorMessage("网络连接超时,请稍后重试"); } else { view.showErrorMessage("网络异常: " + e.getMessage()); } } @Override public Class getSupportedExceptionType() { return NetworkException.class; } }