1-18 异常

这篇博客深入探讨了Java异常处理的概念,包括检查性异常和运行时异常的区别。文章指出,异常会导致程序执行流程中断,但通过使用try-catch-finally结构可以捕获并处理异常。此外,还介绍了如何通过throw关键字手动抛出异常以及finally块的使用,无论是否发生异常,finally中的代码都将被执行。
摘要由CSDN通过智能技术生成

异常

/*

 * 异常

 * 定义:异常是指程序运行中出现的一些错误,但并不是所以的错误都叫异常

 * java.lang.Exception

 * 1 检查性异常:无法避免

 * 用户错误、其他外在操作错误

 * 2 运行时异常:可以避免

 * 在编译时容易被忽略

 *

 * 特点:

 * 1 代码中一旦抛出异常,出现异常位置的,后面的代码将不会执行

 *

 * 抛出异常:

 * 1 throw new Exception()

 * 2 throw Exception

 */

public class ExcDemo {

public static void main(String[] args) throws Exception{

// try {

// //try代码块中包含的是可能出现异常的代码

// String a = "abc";

//          a.charAt(3);

//          System.out.println("2");

//

//      } catch (Exception e) {

// //catch 捕获异常,并做出相应的处理,try{}catch后面的代码依然可以执行

// System.out.println("捕获异常");

// e.printStackTrace();

// } finally {

// System.out.println("1");

// }

/*

 * finally的用法

 * 1 不管是否出现异常,finally中的代码都将在try或者catch的最后执行

 * 2 一旦有返回值,finally中的代码在try或者catch中的return前面执行

 */

         dg(10);

}

public static int exc1() {

try {

System.out.println("try");

//手动抛出异常,异常将会被catch捕获

throw new Exception();

} catch (Exception e) {

e.printStackTrace();

return 0;

} finally {

System.out.println("finally");

}

}

//throw将异常抛出给上一级处理,最终将抛给jvm处理

public static int exc2() throws Exception {

String a = "abc";

a.charAt(3);

return 0;

}

public static void dg(int i) {

i++;

dg(i);

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值