用java实现坏巧克力问题,Java中的异常处理机制

Java中的异常处理机制

** 示例**

public class test {

public static void main(String[] args) {

// TODO Auto-generated method stub

String s="hello";

int i=Integer.parseInt(s);

}

}

上述代码运行

78a7e20ba7b5

异常结果.png

在上述代码中Integer.parseInt表示把字符串类型转化成整数类型,同时Integer是Int的封装类;程序会报错,因为计算机没有办法把hello转化成整数,这时就可以采用以下方式来解决这个问题

public class test {

/**

* try块中表示可能会出错的内容

* catch块中是出错后执行的部分呢

* */

public static void main(String[] args) {

// TODO Auto-generated method stub

String s="100";

try {

int i=Integer.parseInt(s);

/**

*程序不会出错时是不会执行到 catch块中的

* */

} catch (NumberFormatException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

在catch块中还可以进行这样的处理:system.out.println(e.getMessage)-->打印出错误语句信息;;e.printstackTrace()-->打印的是堆栈信息;;以上示例中的事件也可以处理也可以不处理

** 必须处理的错误**

public static void main(String[] args){

Class.forName("java.test");

}

抛出的错误为:Unhandle exception type ClassNotfoundException-->类没有找到的异常错误,这个错误系统要求必须处理,处理方式同上进行try{}catch{}来处理

异常处理机制:程序运行时出现的,导致程序无法正常运行的错误称为异常

Error:一般JVM运行的错误,不用处理,也没有办法处理

Exception分为RuntimeException与非RuntimeException,运行异常可以选择处理或者不处理;非运行异常可以不用管太多

** 异常类型总结**

RuntimeException:

1. NullFointerExcption-->空指针异常

2. IndexOutOfBoundException-->数组下标越界异常

3. NumberFormatException-->数据格式异常

4. ClassCastException-->类型转换异常

5. IllegalArgumentException-->非法参数异常

6. ArithmeticException-->算数异常

非RuntimeException:

1. ClassNotFoundException-->类加载异常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值