Java快速入门 知识精简(6)异常处理

异常处理

异常:指的是程序在执行过程中。出现的非正常的情况,如果不处理最终会导致JVM的非正常停止。

为保证程序正常执行,代码必须对可能出现的异常进行处理

说明:

1)异常指的并不是语法错误;语法错了,编译不通过,不会产生字节码文件,根本不能运行。

2)异常也不是指逻辑代码错误,而没有得到想要的结果;例如:求a与b的和,你写成了a-b;

3)充分发挥异常的优点,可以提高程序的可读性 可靠性和可维护性

分类:按程度

1)Error:虚拟机也无法处理的严重错误

2)Exceptioin:一般性问题, 通常可以处理

异常组合:

try{
    // 可能会抛出异常的代码;
}catch(Exception a){
    throw new Exception(a);     // throw 抛出异常
}
​
 
​
try{
    // 可能会抛出异常的代码;
}catch( ){
    System.out.println("这里有一个异常!");
}finally{
    // 最后一定会执行的代码;
}
​
 
​
try{
    // 可能会抛出异常的代码;
}finally{
    // 最后一定会执行的代码;
}
// throws 将异常抛出; 不在方法中处理异常,将异常处理的责任传递给方法的调用者public void myMethod() throws Exception {
    // ...
    if (someCondition) {
        throw new Exception("An error occurred");
    }
    // ...
}

JUnit单元测试

对一部分代码进行测试检查,确保代码的正确性

步骤:

①选中当前工程 -> 右键 -> build path - add libraries - JUnit 4 - 下一步。

②创建Java类,进行单元测试。

Java类要求:此类是public 类,此类公共的无参构造器。

③此类中声明单元测试方法

单元测试方法:方法的权限是public,没有返回值,没有形参。

④此单元测试方法上需要声明注解:@Test 并在单元测试类中导入test包。

// 例:
import org.junit.test;
​
public class JUnitTest{
​
    @Test
    public void testEquals( ){
        // 方法体
    }
}
import org.junit.test;
​
public class JUnitTest{
​
    @Test
    public void testEquals( ){
        // 方法体
    }
}

⑤声明好单元测试方法后,就可以在方法体内测试相关的代码。

⑥写完代码以后,左键双击单元测试方法名,右键:run as - JUnit Test

说明:

如果执行结果没有任何异常,绿色条形框

如果执行结果出现异常,红色条形框


断点调试

调试程序方式:

System.out.println();

Debug 调试

运行编写好的程序时,可能出现的几种情况:

情况1:没有任何bug,程序执行正确!如果出现如下的三种情况,都有必要使用debug

情况2:运行以后,出现了错误或异常信息。但是通过日志文件或控制台,显示了异常信息的位置。

情况3:运行以后,得到了结果,但是结果不是我们想要的。

情况4:运行以后,得到了结果,结果大概率是我们想要的。但是多次运行的话,可能会出现不是我们想要的情况。比如:多线程情况下,处理线程安全问题

Debug的步骤

Debug(调试)程序步骤如下:

1)添加断点

  • 在源代码文件中,在想要设置断点的代码行的前面的标记行处,单击鼠标左键就可以设置断点;

  • 在相同位置再次单击即可取消断点。

2)启动调试

  • IDEA提供多种方式来启动程序(Launch)的调试,分别是通过菜单(Run –> Debug)、图标 “绿色臭虫” 等

3)单步执行

4)观察变量和执行流程,找到并解决问题

调试操作

IDEA断点调试

操作按钮 说明 作用 快捷键
Step into 跳入 进入当前行所调用的方法中 F7
Step over 跳过 执行完当前行的语句,进入下一行 F8
Step out 跳回 执行完当前行所在的方法,进入下一行 Shift + F8
evaluate expression 计算表达式 查询表达式(变量、方法) Alt + F8
Resume Program 恢复 进入下一个断点 F9
Run to Cursor 直接跳到光标处继续调试 Alt + F9
Force Step Into 跳入 可以进入一个核心类库方法 Alt +Shift + F7
View Breakpoints 查看 查看所有断点 Ctrl + Shift + F8
Mute Breakpoints 使得当前代码后面所有的断点失效, 执行到底
Stop 结束 结束调试 Ctrl + F2
  • 在Debug过程中,可以实时下断点

行断点

断点打在代码所在行的标记行位置。

执行到此行时,会停下来。

方法断点

断点打在方法开始所在的行,当进入方法时,断点可以被唤醒。

也可以设置在方法退出时,断点也被唤醒

在多态的场景下,在父类或接口的方法上打断点,会自动调入到子类或实现类的方法

字段断点

断点打在字段所在的行

在类的属性声明上打断点,默认对属性的修改操作进行监控

条件断点

断点打在条件语句所在的行

只有在指定的条件为真时才会触发暂停,可以用于调试只在特定条件下出现的问题。

异常断点

断点打在异常语句所在的行

对异常进行跟踪。如果程序出现指定异常,程序就会执行断点,自动停住。

你可能感兴趣的:(Java,java,开发语言)