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

做网站对程序员说那些需求b站大全永不收费2023入口在哪

做网站对程序员说那些需求,b站大全永不收费2023入口在哪,项目计划书文件,php做电商网站的难点在 Java 里,异常体系是其错误处理机制的核心内容,它能够帮助开发者有效应对程序运行时出现的各种意外状况。 异常体系的基本架构 它主要包含两个重要分支: Error(错误):这类异常是程序自身无法处理的严重…

在 Java 里,异常体系是其错误处理机制的核心内容,它能够帮助开发者有效应对程序运行时出现的各种意外状况。

异常体系的基本架构

它主要包含两个重要分支:

  1. Error(错误):这类异常是程序自身无法处理的严重问题,像OutOfMemoryErrorStackOverflowError就属于此类。一般而言,开发者不需要针对这类异常编写特别的处理代码。
  2. Exception(异常):这是程序在运行过程中能够捕获和处理的异常。它又可以进一步细分为:
    • 受检查异常(Checked Exception):这类异常在编译阶段就会被检查,例如IOExceptionSQLException。程序必须对它们进行捕获或者声明抛出。
    • 运行时异常(RuntimeException):也被称作非受检查异常,像NullPointerExceptionArrayIndexOutOfBoundsException都属于此类。编译时不会强制要求处理这类异常。

 

 Error

在 Java 中,ErrorThrowable类的子类,用于表示系统级的严重故障,通常无法通过程序恢复。

一、特点

  • 不可恢复:表示 JVM 或系统级的严重问题,程序通常无法处理。
  • 不强制捕获:编译器不会检查 Error,也不要求代码处理它。
  • 避免捕获:捕获 Error 可能导致程序进入不稳定状态。

二、常见的 Error 类型

1. 内存相关错误

OutOfMemoryError:内存不足,无法分配对象。

// 示例:创建过大的数组可能导致OutOfMemoryError
byte[] array = new byte[Integer.MAX_VALUE];

 StackOverflowError:方法调用栈深度超过限制(常见于递归无终止条件)。

// 示例:无限递归导致StackOverflowError
public void recursive() {recursive(); // 最终栈溢出
}

2. 类加载相关错误

  • NoClassDefFoundError:编译时存在的类,运行时找不到(如依赖库缺失)。
  • ClassFormatError:类文件格式错误(如.class 文件损坏)。

3. JVM 内部错误

  • InternalError:JVM 内部发生错误(如 JIT 编译器故障)。
  • VirtualMachineError:JVM 崩溃或无法继续运行的严重错误。

Exception

受检查异常(Checked Exception)

特点

  • 在编译阶段就会被编译器检查。
  • 程序必须对这类异常进行处理,处理方式有两种:要么使用try-catch语句捕获,要么在方法签名中用throws声明抛出
  • 一般是由程序外部的因素引发的,比如文件系统、网络或者数据库等出现问题。

常见示例

  1. IOException:在进行输入输出操作时,如果出现错误,就会抛出此异常。例如,尝试读取一个不存在的文件时。
  2. SQLException:在访问数据库时,如果出现错误,会引发该异常。比如 SQL 语句执行失败。
  3. ClassNotFoundException:当使用反射机制加载类,却找不到指定的类时,会产生此异常。
  4. InterruptedException:当一个线程被另一个线程中断时,会抛出此异常。

处理方式 

import java.io.FileInputStream;
import java.io.IOException;public class CheckedExceptionExample {public static void main(String[] args) {try {readFile(); // 必须捕获或声明抛出} catch (IOException e) {e.printStackTrace();}}public static void readFile() throws IOException {FileInputStream file = new FileInputStream("non_existent_file.txt");}
}

运行时异常(RuntimeException)

特点

  • 属于RuntimeException的子类
  • 编译时不会强制要求处理这类异常,也就是说可以不捕获,也不用在方法签名中声明。
  • 通常是由程序中的逻辑错误导致的,比如空指针引用、数组越界等

常见示例

  1. NullPointerException:当尝试访问空对象的方法或属性时会抛出此异常
String str = null;
System.out.println(str.length()); // 抛出NullPointerException

      2.ArrayIndexOutOfBoundsException:访问数组时,如果使用的索引超出了数组的有效范围,就会引发该异常。

int[] arr = new int[5];
System.out.println(arr[10]); // 抛出ArrayIndexOutOfBoundsException

      3.ArithmeticException:进行数学运算时,若出现非法操作,比如除以零,就会抛出此异常。

int result = 10 / 0; // 抛出ArithmeticException

      4.IllegalArgumentException:当传入的参数不符合方法的要求时,会产生该异常。

public void setAge(int age) {if (age < 0) {throw new IllegalArgumentException("年龄不能为负数");}
}

 

 受检查异常 vs 运行时异常

对比项受检查异常(Checked Exception)运行时异常(RuntimeException)
编译时检查必须处理,否则编译不通过不强制要求处理
继承关系继承自Exception类(但不包括RuntimeException继承自RuntimeException
常见场景外部资源访问(文件、网络、数据库等)程序逻辑错误(空指针、数组越界等)
处理方式捕获(try-catch)或声明抛出(throws)可不处理,通过代码逻辑避免

异常和错误的区别

对比项异常(Exception)错误(Error)
设计目的表示程序可处理的意外情况,如文件不存在、网络中断。表示系统级不可恢复的严重故障,如内存溢出、栈溢出。
处理要求受检查异常必须被捕获或声明抛出;
运行时异常可选择性处理。
通常不捕获,也不应该尝试处理,而是让程序终止。
常见子类IOExceptionSQLExceptionNullPointerExceptionOutOfMemoryErrorStackOverflowErrorNoClassDefFoundError
代码示例java<br>try {<br> FileInputStream file = new FileInputStream("test.txt");<br>} catch (FileNotFoundException e) {<br> e.printStackTrace();<br>}<br>java<br>public void recursive() {<br> recursive(); // 最终导致StackOverflowError<br>}<br>

http://www.dtcms.com/wzjs/385305.html

相关文章:

  • ps做好切片后怎么做网站临沂今日头条新闻最新
  • 厦门seo顾问屈兴东济南seo优化外包服务
  • 在网站服务器上建立数据库深圳竞价托管
  • 怎样建立自己的个人网站1688如何搜索关键词排名
  • 网站的内链优化怎样做百度爱企查电话人工服务总部
  • 怎么找到要做网站推广的客户资源对网络营销的认识有哪些
  • 网站购买后如何做营销策略怎么写
  • wordpress h1 样式seo外包上海
  • 广东省住房和城乡建设厅官方网站百度认证有什么用
  • 网页制作全套教程视频优化大师卸载不了
  • 广州建站业务公司建立网站需要多少钱
  • 省级门户网站建设如何宣传推广自己的产品
  • 求一个dw做的网站网站运营工作内容
  • 完善网站通讯员队伍建设陕西网站建设网络公司
  • 长沙电子商务公司网站制作百度浏览器网址链接
  • 淘宝做任务赚钱网站有哪些免费b站推广网址有哪些
  • 做的网站需要什么技术晨阳seo
  • 全返网站建设东莞网络推广哪家公司奿
  • 什么网站可以找手工活做宝塔没有域名直接做网站怎么弄
  • 做网站php与pythonb站免费建网站
  • html5移动网站开发实践阿里指数
  • 做网站排名步骤百度竞价排名价格查询
  • 网站平台建设要多久交换链接网站
  • 运城建设网站合肥seo管理
  • 广州企业如何建网站百度店铺免费入驻
  • 51网站怎么打不开了百度导航下载2021最新版
  • 重庆3号线推广排名seo
  • NET网站开发程序员招聘百度指数的网址
  • 如何在国内做网站查域名网站
  • 网站建设是什么意思西安楼市最新房价