package com.crawler.exception.handler; import com.crawler.exception.ConfigurationException; import com.crawler.exception.InvalidUrlException; import com.crawler.exception.UnsupportedCrawlerException; import com.crawler.exception.ExceptionHandler; import com.crawler.view.CrawlerView; public class ConfigurationExceptionHandler implements ExceptionHandler { @Override public void handle(Exception e, CrawlerView view) { if (e instanceof InvalidUrlException) { InvalidUrlException ex = (InvalidUrlException) e; view.showErrorMessage("无效的URL格式: " + ex.getInvalidUrl()); } else if (e instanceof UnsupportedCrawlerException) { UnsupportedCrawlerException ex = (UnsupportedCrawlerException) e; view.showErrorMessage("未找到支持该URL的爬虫: " + ex.getUrl()); } else { view.showErrorMessage("配置异常: " + e.getMessage()); } } @Override public Class getSupportedExceptionType() { return ConfigurationException.class; } }