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

东莞网站设计制作长沙全网覆盖的网络推广

东莞网站设计制作,长沙全网覆盖的网络推广,网站开发工程师简历,网站如何解析try,Catch异常处理详解 一、异常分类概述二、什么是try-catch异常处理机制及其使用格式格式1格式2格式3 三、try、catch使用实例实例异常处理机制注意事项 三、finally使用实例finally概述以下是几种比较特殊的情况,看看在这些情况下finally是否会被执行…

try,Catch异常处理详解

  • 一、异常分类概述
  • 二、什么是try-catch异常处理机制及其使用格式
    • 格式1
    • 格式2
    • 格式3
  • 三、try、catch使用实例
    • 实例
    • 异常处理机制注意事项
  • 三、finally使用实例
    • finally概述
    • 以下是几种比较特殊的情况,看看在这些情况下finally是否会被执行
    • 案例1
      • 案例2
      • 案例3

一、异常分类概述

在这里插入图片描述

其中Error是指改变代码无法改变的异常,比如内存溢出,通常需要对硬件进行改变才能解决,比如要增加电脑的内存。

受检异常是指在编译的时候能检查出的一些问题。

非受检异常则是必须要在程序运行的时候才可能出现的异常,比如输入有误,要求输入int却输入了字符串,两个数字相除却把除数设置为0。

二、什么是try-catch异常处理机制及其使用格式

try-catch是一种针对程序运行时出错的响应手段,对于一些可以预料到的出错类型,在发生时对其进行报告和补救。
其使用流程如下:首先执行try中的语句,如果try中的语句报错了,那么就转入对应的catch语句中执行处理异常的措施,catch后的()中的内容是对应的错误类型。
其使用的格式如下

格式1

try{
//可能出错的代码1;
//可能出错的代码2;
//…
}catch(异常类型1){
//这里可以使用System.out.println()语句报错
//也可以针对这种异常的处理方式
}catch(异常类型2){
//同上
}

格式2

try{
//可能出错的代码1;
//可能出错的代码2;
//…
}catch(异常类型1|异常类型2){
//这里可以使用System.out.println()语句报错
//也可以针对这种异常的处理方式
}catch(异常类型2){
//同上
}

格式3

try{
//可能出错的代码1;
//可能出错的代码2;
//…
}catch(RuntimeException e){//运用了java中多态的思想,所有RuntimeException均在此处理
//这里可以使用System.out.println()语句报错
//也可以针对这种异常的处理方式
}catch(异常类型2){
//同上
}

三、try、catch使用实例

实例

功能选择菜单,输入1,2,3选择所需的功能代码如下(示例):

    public static int menu() {System.out.println("请输入需要执行的功能\n1.aaaaa\n2.bbbbb\n3.ccccc");Scanner in = new Scanner(System.in);try {int num = in.nextInt();if (num < 0 || num > 3) {//必须是1~3这三个数字中的一个System.out.println("请输入0,1,2,3这几个数字");//报错return menu();//递归调用menu,相当于重新开始}return num;} catch (InputMismatchException a) {//输入格式出错System.out.println("输入数字");return menu();}}

异常处理机制注意事项

主函数代码:

 public static void main(String[] args) {menu();System.out.println("程序执行完毕");}

在程序的运行过程中,如果出现了异常,但是异常被catch所处理,那么程序还是会继续执行一直到程序结束,也就是会打出“程序执行完毕”,但如果遇到没有catch的异常,程序则会直接终止,不执行System.out.println(“程序执行完毕”)这条语句。

三、finally使用实例

finally概述

finally是必然会执行的异常统一出口,无论异常是否发生,finally中的内容一定是会被执行的。

以下是几种比较特殊的情况,看看在这些情况下finally是否会被执行

案例1

功能选择菜单,输入1,2,3选择所需的功能代码如下(示例):

package Yichang;
public class Test_trycatch {public static void main(String[] args) {test();}static void test(){try{System.out.println(1);System.out.println(2);System.out.println(3);return;}catch (Exception e){}finally {System.out.println("执行finally");}}
}

在这段代码中,程序没有进入异常,看起来程序在执行了try块的return后就结束了,那么 finally有没有执行呢?
来看运行结果:
在这里插入图片描述
实际上finally中的内容还是执行了
因为return之后其实程序还没有结束,这时要准备一个返回值(即使是void函数没有返回值,那也当成返回一个没有返回值的返回值),在准备返回值到程序真正结束的这段时间里,finally中的内容被执行了。

案例2

主函数代码:

package Yichang;
public class Test_trycatch_finally2 {public static void main(String[] args) {Person p = test();System.out.println(p.age);}static class Person{int age;}static Person test(){Person p = new Person();try{p.age = 18;return p;}catch(Exception e){return null;}finally {p.age = 99;}}
}

这里没有发生异常,try块中的代码执行后返回了age为18的p,然后finally里虽然改变了age,但是没有返回,所以按照这种思路,输出结果应该是18 ,然而实际的输出结果是:
在这里插入图片描述
因为,return执行时,复制了一个p,p作为引用,指向person的实例,在finally改变了实例之后,p引用指向的依然是这一块age为99的实例,然后程序真正结束,因此,输出99。

案例3

主函数代码:

package Yichang;public class Test_trycatch_finally2 {public static void main(String[] args) {int a = test();System.out.println(a);}static int test(){int a = 0;try{a = 18;return a;}catch(Exception e){return 0;}finally {a = 99;}}}

将案例2中的返回值从对象Person改成int,输出结果:
在这里插入图片描述

这里由于返回值不再是指针,因此,在try块中复制了一个值为10 的int的后,在finally对原像a的改变并不会对被复制的int造成改变,因此输出18.

http://www.15wanjia.com/news/51867.html

相关文章:

  • 深圳夫博网站建设有限公司关键词优化软件哪家好
  • 简述网站建设步骤百度的人工客服
  • 十堰网站制作公司策划公司一般怎么收费
  • 云南网站开发网络公司前10百度手机助手app下载
  • 有主体新增网站windows优化大师使用方法
  • 网站服务器空间网络营销公司全网推广公司
  • 怎么做网站推销自己的产品网站怎么优化关键词排名
  • 自己公司做公益网站怎么弄焦作网站seo
  • 南昌模板建站定制网站廊坊seo关键词排名
  • 传奇网站发布网徐州seo顾问
  • 网站推广公司招聘在线生成网页网站
  • 涪陵网站制作热门搜索
  • 企业建设网站的母的seo优化官网
  • 电脑手机自适应网站的建设美食软文300范例
  • 网站建设作用 名词解释seo综合优化公司
  • 网站开发环境是什么什么是市场营销
  • 网站的回到顶部怎么做重庆seo整站优化效果
  • 什么样的网站需要改版aso优化注意什么
  • 网站为什么要seo?站长工具seo综合查询怎么用
  • 邢台做网站公司西安百度seo
  • 京津冀协同发展交通一体化规划seo引擎优化平台培训
  • 哪个网站做美食自媒体更好seo优化操作
  • 长沙百度搜索网站排名关键词拓展工具有哪些
  • 灰色色调的网站中国十大搜索引擎排名最新
  • 广州专业网站建设性价比高seo是付费还是免费推广
  • 百度小程序可以根据网站的要求做seo站长工具
  • 找阿里巴巴购买做网站的软件广州王牌seo
  • 钟祥网站建设网页搜索快捷键
  • 北京网站建设公司哪家好商城网站建设
  • 上海网站建设最好的公司排名seo霸屏软件