Java异常

Java异常

程序中出现的任何不正常的情况。

在编写程序的时候,经常没有注意某些程序的缺少之处,或者用户的使用之中出现程序无法识别的客户输入的数据,就会随之产生异常,阻断了代码的运行,为了让程序保持通畅,加人异常处理尽可能避免程序运行中断。

Error 错误

程序运行出现了程序无法处理的问题,Java虚拟机无法解决的严重问题。

Exception

程序运行时出现不正常的情况,可以通过异常处理机制进行解决。

编程错误、访问越界

编译时异常和运行时异常

运行期异常

在程序运行时抛除的异常,所有RuntimeException的子类都
是运行期异常
● 数学异常,比如除法中,除数不能为0

● 数组下标越界

● 空指针

以下就是一种异常的运行报错

从中就可以获知那句所处位置、哪一种异常类型、异常超出多少

Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 5 at com.ffyc.javaexception.Demo1.main(Demo1.java:17)

编译期异常

除去运行期的异常都是编译期异常,在写程序的时候就会出现标识,指导出错与修改。

异常处理

关键字
try

发现异常、检测不安全的代码块,有它为前提,在运行时,有任何一条代码运行发生异常,剩下代码都将不被运行。

catch

捕获异常,保证程序继续运行下去,紧跟着try去写

finally

其所包括的内容一定会执行的,只能有一个finally语句

throw

显式抛出异常,抛出的时候是抛出的是一个异常类的实例化对象。

异常类构造方法如: throw new RunTimeException();

throws

throws关键字声明,表示此方法不处理异常,而交给方法调用处进行处理。

使用了throws的方法,调用时必须处理声明的异常

基本语法
try{
   可能会发生异常的代码
}
catch(异常类型 引用名){
   异常处理代码
}
finally{
   必须执行代码
}
//实例
try {
             System.out.println(10/0);
         }catch (Exception e){
             System.out.println("除数不能为0");
         }finally {
             System.out.println("结束");
         }

自定义异常

继承Exception,在提前预知异常的时候,可以构建一个自定义异常,处理其问题。

public class 异常类名 extends Exception/RuntimeException{
       public 异常类名(String msg){
              super(msg);
}
   //以上为基本语法 
public class ScoreException  extends Exception{

    public ScoreException() {
        super();
    }
    public ScoreException(String message) {
        super(message);
    }
}
    //以下是运用以上自定义异常处理遇见的非法数据
 public static  String trans(int socre) throws ScoreException {
               if(socre<0||socre>100){
                   throw new ScoreException("非法分数");
               }
               if(socre>=90){
                   return "A";
               }else{
                   return "B";
               }
    }
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天 沐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值