1.计算机运行中的错误 在计算机程序运行的过程中,错误总会出现,不可避免的 用户输入错误 读写文件错误 网络错误.内存耗尽.无法连接打印机不可 String s = "abc"; int n = Integer.parseInt(s); 2.Java异常 Java使用异常来表示错误: 异常是class,本身带有类型信息 异常可以在任何地方抛出 异常只需要在上层捕获,和方法调用分离 2.1Java的异常体系 Exception分为两类:RuntimeException和非RuntimeE…
1.异常的传播 当某个方法抛出异常时: 如果当前方法没有捕获,异常就被抛到上层调用方法 直到遇到某个try...catch被捕获 使用printStackTrace()打印处方法的调用栈 import java.lang.String; public class Main { public static void main(String[] args) { try{ process1(); }catch (Exception e){ e.printStackTrace();//对于调试错误非常有…
1捕获异常 1.1 finally语句保证有无错误都会执行 try{...}catch (){...}finally{...} 使用try...catch捕获异常 可能发生异常的语句放在try{...}中 使用catch捕获对应的Exception及其子类 1.2 捕获多个异常 try{...} catch() {...} catch(){...}finally{..} 使用多个catch子句: 每个catch捕获对应的Exception及其子类 从上到下匹配,匹配到某个catch后不再继续匹配…
JDK已有的异常: RuntimeException * NullPointerException * IndexOutOfBoundsException * SecurityException * IllegalArgumentException NumberOfFormatException IOException * UnsupportedCharsetException,FileNotFoundException,SocketException ParseException,Genera…
Commons Logging是Apache创建的日志模块: 可以挂接不同的日志系统 可以通过配置文件指定挂接的日志系统 自动搜索并使用Log4j 如果Log4j不存在,使用JDK Logging(JDK >= 1.4) 下载Commons Logging的jar包.导入jar包 http://commons.apache.org/proper/commons-logging/download_logging.cgi 选择binary的tar包或zip,解压即可. IDEA:file-proje…
1.断言 断言Assertion是一种程序调试方式 使用assert关键字 断言条件预期为true 如果断言失败,抛出AssertionError,停止程序 可选的断言消息,断言失败,就会抛出 public class Main { static double abs(double d){ return d >= 0 ? d : -d; } public static void main(String[] args){ double x = abs(-123.45); assert x <=…
1.Log4j Log4j是目前最流行的日志框架.有两个版本 1.x:Log4j 2.x:Log4j2 Log4j下载地址https://www.apache.org/dyn/closer.lua/logging/log4j/2.11.1/apache-log4j-2.11.1-bin.tar.gz,建议选择清华的镜像 导入log4j-api-2.11.1.jar,log4j-core-2.11.1.jar,log4j-jcl-2.11.1.jar即可 Commons Logging可以自动使用…
1.日志 为了取代System.out.println() 可以设置输出样式 可以设置输出级别,禁止某些级别输出 可以被重定向到文件 可以按包名控制日志级别 2.JDK内置Logging 在java.util.logging,这个日志用的较少. JDK Logging定义了7个日志级别: SEVERE WARNING INFO 默认 CONFIG FINE FINER FINEST 例子1 import java.util.logging.*; public class Main { publi…
for循环 for循环使用计数器实现循环 for循环条件需要设置:计数器初始值:循环前检测条件:每次循环后如何更新计数器 计数器变量通常命名为i int[] ns = {1,4,9,16,25}; for(int i=0;i<ns.length;i++) { System.out.println(ns[i]); } 注意:不要在循环体内修改计数器 特点:初始化计数器总是被执行:可能循环0次 for循环可以缺少初始化条件.循环条件和每次循环更新条件.通常不推荐这样写,容易产生死循环,如 for(i…
写爬虫似乎没有比用 Python 更合适了,Python 社区提供的爬虫工具多得让你眼花缭乱,各种拿来就可以直接用的 library 分分钟就可以写出一个爬虫出来,今天就琢磨着写一个爬虫,将廖雪峰的 Python 教程 爬下来做成 PDF 电子书方便大家离线阅读. 开始写爬虫前,我们先来分析一下该网站1的页面结构,网页的左侧是教程的目录大纲,每个 URL 对应到右边的一篇文章,右侧上方是文章的标题,中间是文章的正文部分,正文内容是我们关心的重点,我们要爬的数据就是所有网页的正文部分,下方是用户的…