443讲异常处理入门,try-catch-finally,throws,五大运行异常,异常处理机制、自定义异常
内容纲要

443讲异常处理入门,try-catch-finally,throws,五大运行异常,异常处理机制、自定义异常

file

file

file

  • 异常体系图

file

file

运行时异常

  • 空指针异常NullPointerException

file

  • 数学运算异常

file

  • 数组越界异常 ArrayIndexOutOfBounds异常。

file

  • 类型转换异常 ClassCastException

file

file

  • 数字格式不正常异常 NumberFormatException

file

file

编译异常

file

  • 练习

file

异常处理机制

file

file

  • JVM处理异常简单暴力,直接输出异常,然后退出程序。

file

  • try-catch异常处理

file

try{}catch{}finally{}

  • try-catch异常细节

    快捷键 ctrl + Alt + T

file

file

file

  1. 如果异常发生了,则异常发生后面的代码不会执行,直接进入到catch块

  2. 如果异常没有发生,则顺序执行try的代码块,不会进入到catch

  3. 如果希望不管是否发生异常,都执行某段代码(比如关闭连接,释放资源等)

    则使用如下代码 - finally

  4. 可以有多个catch语句,捕获不同的异常(进行不同的业务处理),要求父类异常在后,子类异常在前,比如(Exception 在后,NullPointerException 在前),如果发生异常,只会匹配到一个catch

file

file

  1. 可以进行 try-finally 配合使用,这种用法相当于没有捕获异常,因此程序会直接崩掉。

file

file

课堂练习

file

String 默认值时null; 上面代码会报NullPointerException空指针异常。

file

  • 练习题3 细节-->注意catch中的return不会先返回,

    而是i = 3;保存临时变量temp = 3;然后执行finally因为finally也没有返回,所以会先输出i = 4后返回3。

file

file

  • 练习题

file

package com.Liao_;
import java.util.Scanner;
public class Test02 {
    //如果用户输入的不是整数,那么就一直提示他输入,直到输入整数为止。
    //使用异常处理机制
    public static void main(String[] args) {
        Scanner myScanner = new Scanner(System.in);
        String inputStr = "";//用String接收用户输入最合适不过,因为要String强转int
        do {
            System.out.println("请输入:");
            inputStr = myScanner.next();
            try {
                //String类型强制类型转换,如果出现异常就捕获
               int num = Integer.parseInt(inputStr);
            } catch (NumberFormatException e) {
                System.out.println(e.getCause());
                continue;//如果出现异常就直接进入下一循环
            }
            System.out.println("输入的是整数:" + inputStr);
            return;//用break;也行
        }while(true);//无限循环
    }
}

throws异常处理

file

file

其中FileNotFoundException也可以换成它的父类Exception。

throws注意事项和使用细节

file

file

file

a.当一个方法调用另外一个方法时,另外一个方法若是抛出编译异常,则这个方法必须处理这个编译异常。

file

b.

file

自定义异常

file

file

  • 应用实例

file

file

  • 一般情况下,我们自定义异常是继承 RuntimeException
  • 即把自定义异常做成 运行时异常,好处是,我们可以使用默认处理机制。(即方便。)

throw和throws

file

file

作业

file

file

file

file

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇