Java的异常 在计算机程序运行的过程中,总是会出现各种各样的错误。 有一些错误是用户造成的,比如,希望用户输入一个int类型的年龄,但是用户的输入是abc: // 假设用户输入了abc: String s = "abc"; int n = Integer.parseInt(s); // NumberFormatException! 程序想要读写某个文件的内容,但是用户已经把它删除了: // 用户删除了该文件: Java教程 霍师傅 2024-11-29 28 热度 0评论
捕获异常 在Java中,凡是可能抛出异常的语句,都可以用try ... catch捕获。把可能发生异常的语句放在try { ... }中,然后使用catch捕获对应的Exception及其子类。 多catch语句 可以使用多个catch语句,每个catch分别捕获对应的Exception及其子类。JVM在捕获到异常后,会从上到下匹配catch语句,匹配到某个catch后,执行catch代码块,然后不再继续匹 Java教程 霍师傅 2024-11-29 27 热度 0评论
抛出异常 异常的传播 当某个方法抛出了异常时,如果当前方法没有捕获异常,异常就会被抛到上层调用方法,直到遇到某个try ... catch被捕获为止: // exception public class Main { public static void main(String args) { try { process1(); } catch (Exception e) { e.printStackT Java教程 霍师傅 2024-11-29 24 热度 0评论
自定义异常 Java标准库定义的常用异常包括: Exception ├─ RuntimeException │ ├─ NullPointerException │ ├─ IndexOutOfBoundsException │ ├─ SecurityException │ └─ IllegalArgumentException │ └─ NumberFormatException ├─ IOException Java教程 霍师傅 2024-11-29 28 热度 0评论
空指针NullPointerException 在所有的RuntimeException异常中,Java程序员最熟悉的恐怕就是NullPointerException了。 NullPointerException即空指针异常,俗称NPE。如果一个对象为null,调用其方法或访问其字段就会产生NullPointerException,这个异常通常是由JVM抛出的,例如: // NullPointerException public class M Java教程 霍师傅 2024-11-29 37 热度 0评论
使用JDK Logging 在编写程序的过程中,发现程序运行结果与预期不符,怎么办?当然是用System.out.println()打印出执行过程中的某些变量,观察每一步的结果与代码逻辑是否符合,然后有针对性地修改代码。 代码改好了怎么办?当然是删除没有用的System.out.println()语句了。 如果改代码又改出问题怎么办?再加上System.out.println()。 反复这么搞几次,很快大家就发现使用Syst Java教程 霍师傅 2024-11-29 24 热度 0评论
使用Commons Logging 和Java标准库提供的日志不同,Commons Logging是一个第三方日志库,它是由Apache创建的日志模块。 Commons Logging的特色是,它可以挂接不同的日志系统,并通过配置文件指定挂接的日志系统。默认情况下,Commons Loggin自动搜索并使用Log4j(Log4j是另一个流行的日志系统),如果没有找到Log4j,再使用JDK Logging。 使用Commons Lo Java教程 霍师傅 2024-11-29 30 热度 0评论
使用Log4j 前面介绍了Commons Logging,可以作为“日志接口”来使用。而真正的“日志实现”可以使用Log4j。 Log4j是一种非常流行的日志框架,最新版本是2.x。 Log4j是一个组件化设计的日志系统,它的架构大致如下: log.info("User signed in."); │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ├─ Java教程 霍师傅 2024-11-29 29 热度 0评论