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

南京网站制作哪家好游戏推广怎么快速拉人

南京网站制作哪家好,游戏推广怎么快速拉人,重庆永川网站建设,广州做网站信科网络目录 一.异常的概述 二.异常类的层次结构和种类 二.异常的基本用法 2.1异常的捕捉 2.2异常处理代码实现 三.抛出异常 3.1 throw 3.2 throws 四.finally的进一步详解 五.自定义异常类 总结 😽个人主页:tq02的博客_CSDN博客-C语言,Java领域博主 …

目录

一.异常的概述

二.异常类的层次结构和种类

二.异常的基本用法

2.1异常的捕捉

2.2异常处理代码实现

三.抛出异常

3.1 throw

3.2 throws

四.finally的进一步详解

五.自定义异常类

总结


😽个人主页:tq02的博客_CSDN博客-C语言,Java领域博主

 🌈理想目标:努力学习,向Java进发,拼搏一切,找到一份朝九晚五,有假期的工作,让自己的未来不会有遗憾。
 🎁欢迎各位→点赞👍 + 收藏⭐ + 评论📝+关注✨

     本章讲解内容:异常的处理和介绍

      使用编译器:IDEA


一.异常的概述

          所谓的异常,就是指程序在运行时可能出现的一些不正常、错误的情况。                                 例如:除以 0、数组下标越界、类型转换失败、网络地址不能打开、文件不存在等。            异常指的就是程序在 运行时 出现错误时通知 调用者 的一种机制                 

 实例图:

这就是异常,因为0不能为除数,所以出现了异常。而为什么说JVM显示异常,之后有讲解。


二.异常类的层次结构和种类

        Java为了对异常进行处理,预先已经对各种可能出现的异常定义了很多异常类,每个异常类都代表了一种运行错误或异常。

 这张图的最顶层是Throwable类,而它是所有异常或者错误的超类(父类),表中的顺序就是继承 。

而我们着重讲解一下(Exception类的子类):

                1.RuntimeException(运行时异常),此异常通常都是:算术异常类、空指针异常类、下标越界异常类、数组元素个数为负异常类等等。都是RuntimeException的子类

而以上的异常类在编译器的表达方式:ArithmeticEception、NullPointerException、IndexOutOfBoundsEception、ArrayIndexOutOfBoundsEcepiond。

                2.其它异常类:此异常通常是指:I/O异常、网络地址不能打开、文件未找到等,而这些异常类是指除了RuntimeException类,其他的所有类,而也称为受检类异常的类。

重点:

  1. 运行时异常类,都是代码出错而导致的,所以可以通过修改代码程序避免。 
  2. 受检类异常类,则出现的异常无法避免,必须通过使用try-catch-finally语句来捕获异常

二.异常的基本用法

2.1异常的捕捉

        捕捉?异常如何捕捉?如之前的代码图,这是Java的JVM捕捉出来的异常。但是我们可以自行捕捉异常。

异常处理语法:对可能存在的受检类异常的语句进行监控。

                          也可以对运行时异常进行监控。

 格式如上图,

  1. try块:监控区的工作是:对可能发生了异常的程序语句进行包围。只能有一个。
  2. catch块:捕捉处理区,可以存在多个
  3. finally块:不管监控区如何,此代码一定会实现,用于回收一些物理资源,如网络连接等。

2.2异常处理代码实现

受检类异常需要使用到其他的类,所以为了更好方便理解,我们现在对运行时异常处理进行代码实例。

  使用try{ }catch{ }处理异常的代码

使用try{ }catch{ }处理异常的代码

 重点来了:如果不使用try{ }catch{ }的语法,那么Java的JVM会自行发现错误并告知。既然JVM会告知,那么为什么还要使用try{ }catch{ }语法呢?

      解释:如果程序发生了异常,系统会根据异常而终止程序运行,但如果用户想让程序继续执行,便可以通过使用try{ }catch{ }的语法处理异常。


三.抛出异常

3.1 throw

       抛出异常,是指告知编译器不要在乎该异常。Java程序定义好的程序异常或者错误时,由系统自动抛出,但是如果程序员想主动抛出异常,则可以使用throw。

代码实现:
 

public static void main(String[] args) {System.out.println(divide(10, 0));
}
public static int divide(int x, int y) {if (y == 0) {throw new ArithmeticException("抛出除 0 异常");
}return x / y;
}
// 执行结果
Exception in thread "main" java.lang.ArithmeticException: 抛出除 0 异常
at demo02.Test.divide(Test.java:14)
at demo02.Test.main(Test.java:9)

在这个代码中,我们可以根据实际情况来抛出需要的异常. 在构造异常对象同时可以指定一些描述性信息。

3.2 throws

        如果一个方法的头部申明该方法可能抛出异常了,则使用throws来完成。

语法格式:public void fun() throws 异常类{  .......   }

        使用 throws 声明抛出异常的一般情况是:当前方法不知道如何(或者不想)处理方法中可能发生的异常,于是不使用 try-catch 监控和捕捉异常,而是在方法声明中说明该方法将有可能抛出异常,由方法的上一级调用者处理,自己不再处理。可以理解为踢皮球,没有人想解决这个问题,直到有人愿意解决为止。

代码实例

public class Tex3 {public static void fun()throws IOException
{FileInputStream input = new FileInputStream("Ajava");
}public static void main(String[] args){try{fun();}catch(IOException e){System.out.println("咳咳");}}
}

 从代码中,我们可以看出来。fun()函数使用了throws声明了抛出异常,从而不解决文件是否可以找到的,受检类异常。而当函数结束之后,异常就丢回给了调用者main() 函数,因此我们可以看见main函数中使用了try-catch 异常处理

四.finally的进一步详解

       finally是异常处理语法格式的最后一步,不管监控区是否出现了异常,都会执行,但是否想过一种特殊的情况,调用函数返回时呢?

例如代码:

public class Tex3 {public static int fun()
{int x=20;try{if(x>10)return 10;}catch(Exception e){}finally{return 20;}
}public static void main(String[] args){System.out.println(fun());;}
}

      该代码返回的值为20,并非10,说明了一点,无论什么情况,一点会执行finally,哪怕返回值时,也需要执行finally;


五.自定义异常类

       用户定义的异常类都得继承Exception类,所以需要自定义时异常时,需要继承RuntimeException,且定义异常类时,需要提供2种构造函数:一种是无参数的构造函数,一种是带有一个字符串的构造函数。

1、自定义异常类继承Exception类代码:

public class MyException extends Exception {//异常信息private String message;//构造函数public MyException(String message){super(message);this.message = message;}

2.在要抛出异常的函数使用throws关键字

public class UseMyException {private String name;private String password;public UseMyException(String name,String password){this.name = name;this.password = password;}public void throwException(String password) throws MyException{if (!this.password.equals(password)){throw new MyException("密码不正确!");}}
}

3.测试,使用try-catch处理异常

public class TestException {@org.junit.Testpublic void test(){UseMyException ex = new UseMyException("admin","123");try{ex.throwException("1234");}catch (MyException me){System.out.println("MyException:"+me.getMessage());}}
}

以上便是自定义异常类的方法和步骤。


总结

       异常处理主要用于之后的文件、打开网络地址、输入输出I/O等。                                                     其次重要的是自定义异常类。慢慢看,一定一定要有耐心啊。

 最后再介绍一个printStackTrace()方法,用处,在异常处理中用于catch块,可以输出代码哪行有问题。使用方法:异常类名的形参名.printStackTrace()。

http://www.lbrq.cn/news/2710387.html

相关文章:

  • 定制版网站建设详细报价今日头条官网登录入口
  • b2b电子商务网站商务模式互联网服务平台
  • 免费创意logo一键生成器百度seo权重
  • 做网站模板和服务器是一样的吗百度推广工具
  • 网站建设采购公告百度公司地址在哪里
  • 移动 开发 网站建设百度seo教程
  • 做网站前的准备工作icp备案查询官网
  • 网站设计风格分析深圳推广系统
  • 龙岗区网站制作软文营销的概念
  • 厦门网站建设哪家不错百度指数怎么看排名
  • 营销型企业网站开发爱站工具查询
  • 专业做律师网站的公司培训课程有哪些
  • 如何做网站webstorm好搜搜索引擎
  • 南宁网站建设代理郑州今天刚刚发生的新闻
  • 个人网站怎么做支付商丘网络推广外包
  • 有没有什么推荐的网站无线网络优化工程师
  • 网站制作的评价指标收录查询工具
  • 石家庄网站开发建设网络营销企业有哪些
  • 大型 网站的建设 阶段简单的网页设计
  • 网站给他人做付刑事责任seo快速排名软件app
  • 房屋中介的网站怎么建设石狮seo
  • 凡科网网站系统搜索网站
  • 河南手机网站建设公司优化网站的目的
  • 学网站开发的培训学校长沙做搜索引擎的公司
  • 手机网站的文本排版是怎么做的软件开发需要多少资金
  • php网站开发学习营销网址
  • 网站建设功能图企业网络推广计划书
  • 网站建设手机网站百度seo软件曝光行者seo
  • 网站建设公司新员工培训ppt美国站外推广网站
  • 腾讯云服务器怎么做网站小红书指数
  • 搭建局域网yum源仓库全流程
  • 在mysql> 下怎么运行 .sql脚本
  • Android平台RTSP播放器选型指南:从开源方案到跨平台低延迟专业SDK
  • 【递归、搜索与回溯算法】穷举、暴搜、深搜、回溯、剪枝
  • 晓知识: 如何理解反射
  • 开发避坑指南(23):Tomcat高版本URL特殊字符限制问题解决方案(RFC 7230 RFC 3986)