关闭

JAVA014--异常

标签: java
108人阅读 评论(0) 收藏 举报
分类:

错误和异常

import java.io.File;
import java.io.FileInputStream;

public class TestMain {

public static void main(String[] args) {
    // TODO Auto-generated method stub

    //错误(Error):
    //语法错误---在编译期报错,修改为正确的语法

// TestMain.test();
//逻辑错误–编译不报错、运行也不报错,但结果不是我们需要的,往往是算法问题
//运行时错误–在运行期报错,报错类型名字后面是Error,往往是硬件问题或环境问题,无法用异常处理机制解决
// test(5);

    //异常(Exception)
    //运行时异常(未检查异常,UnCheckedException)--在运行期报错,报错类型名字后面是Exception,可以使用异常处理机制

// int[] array = new int[5];
// System.out.println(array[5]);
//编译时异常(检查异常,CheckedException)
// FileInputStream fis = new FileInputStream(“D:/hello.txt”);
}

public static void test(int a){
    System.out.println("Hello");
    test(10);
}

异常的处理

  • 运行时异常 1.修改源代码,将异常情况规避(最好的解决方式)。2.使用异常捕获机制(try-catch-finally)
  • 编译时异常 一个方法在声明部分书写throws xxxException,以至于调用者在编译时受到警告(编译不通过)强制要求调用者进行处理(1.往上抛,2.使用try-catch)

finally 块

不管是否发生异常,都必须要执行的代码,不管是否有break,还是return。优先执行。通常用于资源的管理,通道的关闭,内存回收。

throw和throws的区别

  • throw 1.写在方法中,后面跟着异常对象 2.只能跟一个对象 3.一旦执行到这句代码,一定会发生异常。
  • throws 1.写在方法声明最后,后面跟着异常类名。2.可以有多个异常类名,用逗号分隔。3.表明本方法有可能发生某个异常

import java.util.InputMismatchException;
import java.util.Scanner;

public class ClassB {

//throws 书写在方法声明的最后
//throws 后面跟的是异常类名 ,而且可以有多个类名(中间由逗号分隔)
//throws 表明本方法有可能发生某个类型的异常
public void b() throws Exception{
    System.out.println("b方法开始");
    Scanner scan = new Scanner(System.in);
    int result = scan.nextInt();
    if(result >= 0){
    //如果程序员主动抛出一个异常---需要使用throw 异常对象;
        //throw 书写在方法体
        //throw后面跟的是异常对象(只能跟1个对象)
        //一旦执行到throw这句代码,一定会发生异常
        //如果throw后面的异常对象是编译时异常,那么该方法声明后面必须加throws
        //如果throw后面的异常对象时运行时异常,那么该方法声明后面可以不加throws
        throw new Exception();
    }
    System.out.println("b方法结束");
}


public void bb(){
    try {
        this.b();
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:4018次
    • 积分:276
    • 等级:
    • 排名:千里之外
    • 原创:24篇
    • 转载:1篇
    • 译文:0篇
    • 评论:1条
    文章分类
    文章存档
    最新评论