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

wordpress adam & eve/seo优化专员

wordpress adam & eve,seo优化专员,国外免费空间申请,做网站首页【实例简介】 用于中控指纹,人脸,刷卡考勤机开发包。含上传下载设备数据。对设备参数修改等 目录: Demo为源码 doc说明开发手册 SDK为中控开发用到的dll文件 文件:590m.com/f/25127180-490561108-1e2d42(访问密码…

【实例简介】

用于中控指纹,人脸,刷卡考勤机开发包。含上传下载设备数据。对设备参数修改等

目录:

Demo为源码

doc说明开发手册

SDK为中控开发用到的dll文件

文件:590m.com/f/25127180-490561108-1e2d42(访问密码:551685)

【实例截图】

在这里插入图片描述
以下内容无关:

-------------------------------------------分割线---------------------------------------------

  1. 异常的体系结构
    定义:异常就是有异于常态,和正常情况不一样,有错误出现。在java中,将程序执行过程中的不正常的情况称之为异常,开发过程中的语法错误和逻辑错误不是异常,发生异常时java会阻止当前方法或作用域的情况。

异常的体系结构

Java异常的体系结构

Throwable:是java中所有异常和错误的超类,其两个子类为 Error(错误) 和 Exception(异常)
Error: 是程序中无法处理的错误,表示运行应用程序中出现了严重的错误。此类错误一般表示代码运行时JVM出现问题。通常有Virtual MachineError(虚拟机运行错误)、NoClassDefFoundError(类定义错误)等。比如说当jvm耗完可用内存时,将出现OutOfMemoryError。此类错误发生时,JVM将终止线程。非代码性错误。因此,当此类错误发生时,应用不应该去处理此类错误。
Exception: 是程序本身可以捕获并且可以处理的异常。其中可分为运行时异常(RuntimeException)和非运行时异常,也叫做受检异常
运行时异常(不受检异常): RuntimeException类极其子类表示JVM在运行期间可能出现的错误。编译器不会检查此类异常,并且不要求处理异常,比如用空值对象的引用(NullPointerException)、数组下标越界(ArrayIndexOutBoundException)。此类异常属于不可查异常,一般是由程序逻辑错误引起的,在程序中可以选择捕获处理,也可以不处理。
非运行时异常(受检异常): Exception中除RuntimeException极其子类之外的异常。编译器会检查此类异常,如果程序中出现此类异常,比如说IOException,必须对该异常进行处理,要么使用try-catch捕获,要么使用throws语句抛出,否则编译不通过。
从程序执行的过程来看编译时异常和运行时异常

编译时异常:程序在编译时发生的异常(javac 源文件名.java)
运行时异常: 程序在运行时发生的异常(java 字节码文件名)
2. 常见的异常
2.1. 运行时异常
NullPointerException (空指针异常):指针指向的对象为空(null)
ArrayIndexOutOfBoundException (数组角标越界异常) StringIndexOutOfBoundException (字符串越界异常) …
ClassCastException (类型转换异常)
2.2. 编译时异常 (编译时异常必须进行处理否则无法运行)
IOException
FileNotFoundException
ClassNotFoundException
2.3. 常见异常的运行Demo
package com.broky.exception.commonException;

import java.util.Scanner;

public class CommonEx {
static void ArithmeticExceptionDemo(){
int a = 10;
int b = 0;
int c = a / b;
/Exception in thread “main” java.lang.ArithmeticException: / by zero
at com.broky.exception.ArithmeticEx.main(ArithmeticEx.java:7)
/
}

static void ClassCastExceptionDemo(){Object obj = new Double(1);String str = (String)obj;/*Exception in thread "main" java.lang.ClassCastException: class java.lang.Double cannot be cast to class java.lang.String (java.lang.Double and java.lang.String are in module java.base of loader 'bootstrap')at com.broky.exception.ClassCastEx.main(ClassCastEx.java:7)*/
}static void InputMismatchExceptionDemo(){Scanner scan = new Scanner(System.in);int num = scan.nextInt();System.out.println(num);/*asdException in thread "main" java.util.InputMismatchExceptionat java.base/java.util.Scanner.throwFor(Scanner.java:939)at java.base/java.util.Scanner.next(Scanner.java:1594)at java.base/java.util.Scanner.nextInt(Scanner.java:2258)at java.base/java.util.Scanner.nextInt(Scanner.java:2212)at com.broky.exception.InputMismatchEx.main(InputMismatchEx.java:8)*/
}static void NullPointerExceptionDemo(){int[] arr = null;System.out.println(arr[3]);/*Exception in thread "main" java.lang.NullPointerException: Cannot load from int array because "arr" is nullat com.broky.exception.NullPointerEx.main(NullPointerEx.java:6)*/
}static void NumberFormatExceptionDemo(){String str = "abc";int a = Integer.parseInt(str);/*Exception in thread "main" java.lang.NumberFormatException: For input string: "abc"at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67)at java.base/java.lang.Integer.parseInt(Integer.java:660)at java.base/java.lang.Integer.parseInt(Integer.java:778)at com.broky.exception.NumberMismatchEx.main(NumberMismatchEx.java:6)*/
}static void ArrayIndexOutOfBoundExceptionDemo(){int[] arr = new int[3];System.out.println(arr[3]);/*Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3at com.broky.exception.XIndexOutOfBoundEx.main(XIndexOutOfBoundEx.java:6)*/String str = "abc";System.out.println(str.charAt(3));/*Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 3at java.base/java.lang.StringLatin1.charAt(StringLatin1.java:48)at java.base/java.lang.String.charAt(String.java:711)at com.broky.exception.XIndexOutOfBoundEx.main(XIndexOutOfBoundEx.java:11)*/
}public static void main(String[] args) {ArrayIndexOutOfBoundExceptionDemo();
}

}

  1. 异常的抓抛模型原理
    异常的抛出:如果程序在运行过程中执行某段代码时发生了异常,那么系统(JVM)将会根据异常的类型,在异常代码处创建对应的异常类型的对象并抛出,抛出给程序的调用者。一旦抛出对象以后,其后的代码不再运行,程序终止.
    异常的抛出分为:① 系统向外抛出异常 ② 手动向外抛出异常(throw)
    异常的抓取:异常的抓取可以理解为异常的处理方式, 取有 try-catch-finally 和 throws 两种方式(详情见异常的处理部分)
  2. 异常的处理
    4.1. try - catch - finally
    将可能出现异常的代码放到try{}中, 运行时, 如果代码发成了异常的话,就会生成一个对应的异常类的对象.
    这个产生的异常对象会与catch的异常类型相匹配,匹配成功后就被 catch 捕获,然后运行catch{}中的代码, 一般catch中的代码为处理异常的代码, 比如返回异常的信息和返回异常的详细信息等. 一旦异常处理完成,就会跳出当前的try-catch结构

无论有没有发生异常finally中的代码都会最后被执行

catch多个异常类型的时候, 如果有子父类关系,小的范围写上面大的范围写下面; 如果没有子父类关系,谁在上谁在下无所谓.
常用的异常对象处理方式: ① e.getMessage() ② e.printSrackTrace()
在try结构中生命的变量,在出了try结构以后,就不能在被调用。如果想避免这种情况,就需要在try之前声明变量并初始化,在try中赋值。
如果finally里面有return那么返回的一定是finally里面的
try-catch-finally结构可以相互嵌套
体会1:使用try-catch-finally处理编译时异常,是让程序在编译时就不再报错,但是运行时仍然有可能报错。相当于我们使用try-catch将一个编译时可能出现的异常,延迟到运行时出现。p376
体会2:在开发中,运行时异常比较常见,此时一般不用try-catch去处理,因为处理和不处理都是一个报错,最好办法是去修改代码。针对编译时异常,我们一定要考虑异常处理。
package com.broky.exception.demo02;

public class TryCatchFinally {
public static void main(String[] args) {
String str = “abc”;

    try {int i = Integer.parseInt(str);} catch (NumberFormatException e) {e.printStackTrace();} catch (Exception e) {System.out.println(e.getMessage());} finally {System.out.println("运行完毕");}
}

}
4.2. throws + 异常类型
throws 一般用于方法中可能存在异常时, 需要将异常情况向方法之上的层级抛出, 由抛出方法的上一级来解决这个问题, 如果方法的上一级无法解决的会就会再将异常向上抛出, 最终会抛给main方法. 这样一来main方法中调用了这个方法的时候,就需要解决这个可能出现的异常.
当然main方法也可以不解决异常, 将异常往上抛出给java虚拟机, 如果java虚拟机也无法解决的话,那么java虚拟机就over了

throws + 异常类型写在方法的声明处.指明此方法执行时,可能会抛出的异常类型.
一旦方法体执行时,出现异常,仍会在异常代码处生成一个异常类的对象,此对象满足throws后异常类型时,就会被抛出。
异常代码的后续的代码,就不再执行!

体会:tyr-catch-fianlly:真正的将异常给处理掉了。throws的方式只是将异常抛给了方法的调用者,并没有真正将异常处理掉。

注意: 将异常向上抛出也算是一种处理异常的方法

package com.broky.exception;

import java.io.FileNotFoundException;

public class ThrowsEx {
public void setAge2(int age) throws FileNotFoundException {
if (age < 0) {
throw new FileNotFoundException(“输入的年龄小于0”);
}
}

public void TestsetAge2() throws FileNotFoundException {setAge2(2);
}public static void main(String[] args) {try {ThrowsEx.throwsExTest();} catch (FileNotFoundException e) {e.printStackTrace();}
}

}

http://www.jmfq.cn/news/4971025.html

相关文章:

  • 威海市住房和城乡建设局官方网站/营销顾问
  • 企业网站博客上如何推广/最成功的网络营销案例
  • 专业做厂房的网站/东莞网站建设排名
  • 做建材的网站/湖北网站建设制作
  • 深圳外贸网站设计/如何自己做一个网页
  • 做网站需要什么电脑/教育培训机构排名
  • 网站建设需要的技术设备/磁力棒
  • 网站首页设计原则/东莞网络推广代运营
  • 网站短信接口怎么做/小企业广告投放平台
  • 做网站需要的注意事项/营销型网站建设推广
  • 珠海营销网站建设/排名函数rank怎么用
  • 网站建设与推广实训心得/新品怎么刷关键词
  • 做全屏网站设计时容易犯的错/沈阳网站seo公司
  • 网站备案没了/怎么在百度上免费做广告
  • 网站正在建设中手机版/网站排名优化教程
  • 做阿里巴巴跟网站哪个更好/2023第三波疫情已经到来了
  • 惠州市惠城区规划建设局网站/全国病毒感染最新消息
  • 温州网站推广/互联网营销培训课程
  • 网站设计说明书怎么写/新闻播报最新
  • 做网站设计用什么软件最好/google seo是什么啊
  • 做企业网站要用什么软件/长沙网红打卡地
  • 郑州 网站制作/网站生成
  • 杭州专业做网站公司/网站空间租用
  • 怎么推广app软件/襄阳seo优化排名
  • 西安做网站多钱/介绍产品的营销推文
  • 网络违法犯罪网站举报/seo效果分析
  • 广州佛山最新疫情/武汉seo优化顾问
  • 郑州网站制作怎么样/网站友链查询接口
  • 免费网站建设排行/swot分析
  • 长沙第三方网站建设公司/网络广告的计费方式