当前位置: 首页 > news >正文

网站建设申请百度seo优化公司

网站建设申请,百度seo优化公司,海宁营销型网站设计,深圳做微网站文章目录 Java异常处理实例解析Example01_2023yang:未处理的异常Example02_2023yang:捕获并处理异常Example03_2023yang:finally块的使用Example04_2023yang:自定义异常Example05_2023yang:忽略异常信息Example06_2023…

文章目录

  • Java异常处理实例解析
    • Example01_2023yang:未处理的异常
    • Example02_2023yang:捕获并处理异常
    • Example03_2023yang:finally块的使用
    • Example04_2023yang:自定义异常
    • Example05_2023yang:忽略异常信息
    • Example06_2023yang:方法声明抛出异常
    • Example07_2023yang:抛出并捕获自定义异常
    • Example09_2023yang:自定义异常类


Java异常处理实例解析

在Java编程中,异常处理是一个重要的概念,它帮助我们处理程序运行时可能出现的错误。以下是几个关于异常处理的示例,每个示例都包含了详细的注释和运行结果。

Example01_2023yang:未处理的异常

public class Example01_2023yang {public static void main(String[] args) {// 调用divide方法,传入参数4和0int result = divide(4, 0);// 打印divide方法的返回结果System.out.println(result);}public static int divide(int x, int y) {// 计算x除以y的结果,并赋值给result变量int result = x / y;// 返回计算结果return result;}
}

运行结果:

java.lang.ArithmeticException: / by zero

解释: 这个示例中,divide 方法尝试将4除以0,这在Java中是不允许的,因此会抛出一个 ArithmeticException

Example02_2023yang:捕获并处理异常

public class Example02_2023yang {public static void main(String[] args) {try {// 定义数组下标越界的案例int[] a = {1, 2, 3};System.out.println(a[5]);// 尝试调用divide方法,传入参数4和0int result = divide(4, 0);// 如果divide方法没有抛出异常,打印结果System.out.println(result);} catch (Exception e) {// 如果divide方法抛出异常,捕获异常并打印异常信息System.out.println("捕捉的异常信息为:" + e.getMessage());}// 打印这条信息表示程序继续向下执行System.out.println("程序进行向下执行.....");}public static int divide(int x, int y) {// 计算x除以y的结果,并赋值给result变量int result = x / y;// 返回计算结果return result;}
}

运行结果:

捕捉的异常信息为:/ by zero
程序进行向下执行.....

解释: 这个示例中,我们尝试访问数组的一个不存在的索引,这会抛出一个 ArrayIndexOutOfBoundsException。然后,我们尝试将4除以0,这会抛出一个 ArithmeticException。这两个异常都被 catch 块捕获,并打印了异常信息。

Example03_2023yang:finally块的使用

public class Example03_2023yang {public static void main(String[] args) {try {// 尝试调用divide方法,传入参数4和0int result = divide(4, 0);// 如果divide方法没有抛出异常,打印结果System.out.println(result);} catch (Exception e) {// 如果divide方法抛出异常,捕获异常并打印异常信息System.out.println("捕捉的异常信息为:" + e.getMessage());// 遇到异常后,main方法结束执行return;} finally {// 无论是否发生异常,finally代码块都会执行System.out.println("进入finally代码块");}// 如果没有异常发生,或者在catch代码块中没有return,程序会继续向下执行System.out.println("程序继续向下....");}public static int divide(int x, int y) {// 计算x除以y的结果,并赋值给result变量int result = x / y;// 返回计算结果return result;}
}

运行结果:

捕捉的异常信息为:/ by zero
进入finally代码块

解释: 这个示例中,finally 代码块无论是否发生异常都会执行。即使在 catch 块中有 return 语句,finally 代码块仍然会执行。

Example04_2023yang:自定义异常

public class Example04_2023yang {public static void main(String[] args) {try {// 调用divide方法,传入参数4和0来模拟除以零的情况int result = divide(4, 0);// 如果divide方法没有抛出异常,打印结果System.out.println(result);} catch (Exception e) {System.out.println("开始处理Exception类型异常");// 如果divide方法抛出异常,捕获异常并打印异常信息System.out.println("发生异常:" + e.getMessage());} finally {System.out.println("我是finally处理的内容");}}public static int divide(int x, int y) throws Exception {// 检查除数是否为0,如果是,则抛出ArithmeticException异常if (y == 0) {throw new Exception("除数不能为0");}// 计算x除以y的结果,并赋值给result变量int result = x / y;// 返回计算结果return result;}
}

运行结果:

开始处理Exception类型异常
发生异常:除数不能为0
我是finally处理的内容

解释: 这个示例中,divide 方法在除数为0时抛出了一个自定义的 Exception。这个异常被 catch 块捕获,并打印了异常信息。

Example05_2023yang:忽略异常信息

public class Example05_2023yang {public static void main(String[] args) {try {// 尝试调用divide方法,传入参数4和2int result = divide(4, 2);// 如果divide方法没有抛出异常,打印结果System.out.println(result);} catch (Exception e) {// 如果divide方法抛出异常,捕获异常但忽略异常信息e.getMessage();}}public static int divide(int x, int y) {// 计算x除以y的结果,并赋值给result变量int result = x / y;// 返回计算结果return result;}
}

运行结果:

2

解释: 这个示例中,divide 方法正常执行并返回结果。catch 块捕获了异常,但没有打印异常信息。

Example06_2023yang:方法声明抛出异常

public class Example06_2023yang {public static void main(String[] args) throws Exception {// 调用divide方法,传入参数4和0,这里会发生除以零的操作int result = divide(4, 0);// 打印divide方法的返回结果// 但由于除以零,这里实际上不会执行,程序会在divide方法中抛出异常System.out.println(result);}public static int divide(int x, int y) {// 计算x除以y的结果,并赋值给result变量// 在这个例子中,当y为0时,会发生除以零的操作,导致程序抛出ArithmeticException异常int result = x / y;// 返回计算结果return result;}
}

运行结果:

java.lang.ArithmeticException: / by zero

解释: 这个示例中,main 方法声明抛出 Exceptiondivide 方法在除数为0时抛出了 ArithmeticException,这个异常被 main 方法抛出。

Example07_2023yang:抛出并捕获自定义异常

public class Example07_2023yang {public static void printAge(int age) throws Exception {// 检查传入的年龄是否小于或等于0if (age <= 0) {// 如果年龄不合法(小于或等于0),则抛出一个Exception异常,并附带错误信息throw new Exception("输入年龄有误,必须是整数!");} else {// 如果年龄合法,打印出此人的年龄System.out.println("此人年龄为:" + age);}}public static void main(String[] args) {// 定义一个变量age并初始化为-1,这里模拟了一个非法的年龄值int age = -1;try {// 调用printAge方法,传入age变量printAge(age);} catch (Exception e) {// 如果printAge方法抛出异常,捕获这个异常并打印异常信息System.out.println("捕获的异常信息为:" + e.getMessage());}}
}

运行结果:

捕获的异常信息为:输入年龄有误,必须是整数!

解释: 这个示例中,printAge 方法在年龄不合法时抛出了一个自定义的 Exception。这个异常被 main 方法的 catch 块捕获,并打印了异常信息。

Example09_2023yang:自定义异常类

class DivideByminusException extends Exception {// 构造函数,不提供任何信息,调用父类的无参构造函数public DivideByminusException() {super();}// 构造函数,接收一个字符串消息作为异常信息,调用父类的带消息的构造函数public DivideByminusException(String message) {super(message);}
}public class Example09_2023yang {public static void main(String[] args) {try {// 调用divide方法,传入参数4和-2,这里模拟了一个除以负数的情况int result = divide(4, -2);// 如果divide方法没有抛出异常,打印结果System.out.println(result);} catch (DivideByminusException e) {// 如果divide方法抛出DivideByminusException异常,捕获这个异常并打印异常信息System.out.println(e.getMessage());}}public static int divide(int x, int y) throws DivideByminusException {// 检查除数是否为负数,如果是,则抛出DivideByminusException异常if (y < 0) {throw new DivideByminusException("除数是负数");}// 计算x除以y的结果,并赋值给result变量int result = x / y;// 返回计算结果return result;}
}

运行结果:

除数是负数

解释: 这个示例中,divide 方法在除数为负数时抛出了一个自定义的 DivideByminusException。这个异常被 main 方法的 catch 块捕获,并打印了异常信息。

http://www.ds6.com.cn/news/15355.html

相关文章:

  • app开发公司有哪些部门四川自助seo建站
  • 系统开发北京网站建设长沙seo网站排名
  • 婴儿辅食中企动力提供网站建设seo优化一般包括哪些
  • 网站建设 总体目标整站优化加盟
  • 做环球资源网站有没有效果全国疫情今天最新消息
  • 云梦做网站seo网站优化经理
  • 商丘集团网站建设无人区在线观看高清1080
  • 电子商务平台网店关键词挖掘方法长春网站seo
  • 企业网站管理系统最新4湖南岚鸿牛x1 091关键词排名
  • 做一个简单的公司网站要多少钱网站怎么优化到首页
  • 沈阳网站设计营销型网址链接
  • 济南装修公司口碑最好的是哪家东莞seo建站
  • 网站建设公司报价表百度认证中心
  • 做网站包括什么条件每日新闻快报
  • 免费网站哪个好网络营销推广平台
  • 武昌做网站公司推荐网络营销方式有哪些
  • 做学校子网站青岛seo排名扣费
  • 长沙flash网站制作青岛网站seo公司
  • 无限弹窗网站链接怎么做郑州网络推广服务
  • 做暧视频免费网站福州关键词优化平台
  • 站长推荐产品上海百度搜索优化
  • 包头网站 建设深圳最新消息今天
  • 网站建设与管理试卷A百度竞价推广开户价格
  • 好用的网站管理系统百度高级检索入口
  • 网站ip地址 转向域名360点睛实效平台推广
  • 怎么做直播网站刷弹幕百度排行榜
  • 做网站的图片游戏推广代理app
  • 中国镇江网360优化关键词
  • 网站qq 微信分享怎么做小红书推广平台
  • 网站建设服务合同协议百度网盘网页版