27、java的异常类

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_18077275/article/details/89784864

1、异常类

所谓异常就是程序运行时可能出现一些错误,比如试图打开一个根本不存在的文件等,异常处理将会改变程序的控制流程,让程序有机会对错误作出处理。
异常对象可以调用如下方法得到或输出有关异常的信息:
   public String getMessage();
   public void printStackTrace();
   public String toString(); 
2、try-catch语句

Java使用try~catch语句来处理异常,将可能出现的异常操作放在try~catch语句的try部分,将发生异常后的处理放在catch部分。
 try~catch语句的格式如下:
 try {
      包含可能发生异常的语句
 }
 catch(ExceptionSubClass1  e) {
    … …
 }
 catch(ExceptionSubClass2  e) {
    … …
 } 

3、自定义异常类

我们也可以扩展Exception类定义自己的异常类,然后规定哪些方法产生这样的异常。
一个方法在声明时可以使用throws关键字声明要产生的若干个异常,并在该方法的方法体中具体给出产生异常的操作,即用相应的异常类创建对象,并使用throw关键字抛出该异常对象,导致该方法结束执行。
4、示例代码

Bank .java
public class Bank {
    void income(int in,int out) throws BankException{
        if(in<0 || out>0){
            throw new BankException();
        }
        System.out.println("你的操作是正常");
    }
}

BankException .java
public class BankException extends Exception{
    void showMessage(){
        System.out.println("你发生异常了");
    }
}

Demo30 .java
public class Demo30 {

    public static void main(String[] args) {
//        int a = 10;
//        int b = 0;
//        
//        Person person = new Person();
//        person = null;
//        
//        try {
////            person.speak();
//            int c = a/b;
//        } catch (NullPointerException e) {
//            System.out.println("NullPointerException");
//        }catch (ArithmeticException e) {
//            System.out.println("ArithmeticException");
//        }
        
        
        Bank bank = new Bank();
        try {
            bank.income(-100, 50);
        } catch (BankException e) {
            e.showMessage();
        }
    }

}

Person .java
public class Person {
    void speak(){
        System.out.println("speak");
    }
}

猜你喜欢

转载自blog.csdn.net/qq_18077275/article/details/89784864