首页 > 编程语言 >Java中异常的学习

Java中异常的学习

时间:2024-09-13 18:25:02浏览次数:7  
标签:Java 错误 处理 程序 学习 编译 异常

异常


目录

在实际的程序设计中,并非所有错误都能在编译期间被侦测到。运行时错误会引起异常(exception,也称例外):程序运行过程中出现的事件,它中断正常的程序控制流程。没有异常处理代码的程序,可能会非正常结束,有时候会引起严重问题。

程序错误类型

程序中的错误可能有三种类型:编译错误、运行时错误、和逻辑错误。

(1)编译错误
是指编写的程序存在语法问题,未能通过源代码到目标代码的编译过程而产生的错误,它们由语言的编译系统负责检测和报告。

(2)运行时错误
是指在程序运行过程中,如果环境发现了一个不可能执行的操作,就会出现运行时错误

(3)逻辑错误
是指程序没有按照预期的方案执行。

什么是异常?

在程序执行中,任何中断正常程序流程的异常条件就是错误或异常 。

异常的主要作用?

异常的便利性
在不支持异常处理的语言中,语言本身在标识异常类型方面没有任何帮助,也不提供异常处理的工具

如在C语言中,

程序通常是通过返回一个非正常值(-1或null)表示错误和异常的。

这样,程序员为了检查可能发生的异常情况,就需要在程序中设置一些变量或者说标记量。

并使用很多的if-else语句。同时他还必须非常清楚地知道是什么导致了异常的产生,

以及异常的确切含义。

而在Java中,

用户不必专门去编写这些测试代码就可以比较容易地发现异常。

在默认情况下,异常会输出一个错误信息,然后中止程序的执行。

为了更好地处理异常情况,程序开发人员通常会在程序中定义异常处理代码块来捕获和处理异常。

这样,当异常情况发生时,一个代表该异常的对象会被创建,并在产生异常的方法中被引发。

该方法可以选择自己处理异常,也可以抛出该异常。

异常的健壮性
无论哪一种情况,异常最终都应该被捕获并做出相应的处理。

使用异常类的好处就在于它为程序调试提供了很大的方便,并能保证程序在出现异常的情况下

仍然能够继续执行下去,从而提高了程序的健壮性。

标签:Java,错误,处理,程序,学习,编译,异常
From: https://www.cnblogs.com/BingBing-8888/p/18412677

相关文章

  • 神经网络的学习--深度学习
    本章的主题是神经网络的学习。这里所说的“学习”是指从训练数据中自动获取最优权重参数的过程。本章中,为了使神经网络能进行学习,将导入损失函数这一指标。而学习的目的就是以该损失函数为基准,找出能使它的值达到最小的权重参数。为了找出尽可能小的损失函数的值,本章我们将......
  • Java 中实现动态代理
    在Java中,动态代理(DynamicProxy)允许在运行时创建代理对象来处理方法调用,而不需要在编译时定义具体的实现类。Java的java.lang.reflect.Proxy类和java.lang.reflect.InvocationHandler接口是实现动态代理的关键。步骤:创建接口:定义一个接口,代理对象将会实现这个接口......
  • Java笔试面试题AI答之单元测试JUnit(4)
    文章目录19.简述JUnitorg.junit.TestSuite类的作用?1.组织测试类2.简化测试执行3.灵活配置测试环境4.嵌套测试套件注意事项20.在JUnit中@Test注释的作用和用法?作用用法21.简述Junit基础注解(@BeforeClass、@Before、@Test、@After、@AfterClass)?22.编写代......
  • java学习9.13
    将java测试卷重新完成,测试完后基本完成需求,无明显BUG结合课堂上去写这个java测试卷,总的来说,之前没有独立写过类似项目+限时是比较大的问题。如果之前没有经历类似的情况,很多功能都是第一次用,那么就会导致出现bug而不知道如何去改,并且加上时间限制,如果时间全花在改bug上,又无法完......
  • msvcr100.dll丢失导致快吧迷你页异常?深度解析快吧迷你页msvcr100.dll文件丢失原因与修
    在使用快吧迷你页等软件时,有时会遇到“msvcr100.dll丢失”的错误提示,导致软件无法正常运行。这一问题主要由msvcr100.dll文件丢失或损坏引起,该文件是MicrosoftVisualC++2010RedistributablePackage中的一个重要组件,负责提供程序运行所需的运行时库支持。以下是对该问题的......
  • A-计算机毕业设计定制:93904 家庭健康管理系统(免费领源码)可做计算机毕业设计JAVA、PHP
    摘 要随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,家庭健康管理系统被用户普遍使用,为方便用户能够可以随时进行家庭健康管理系统的数据信息管理,特开发了SSM家庭健康管理系......
  • 2025最新:如何打造Java SpringBoot Vue房屋租赁管理系统?掌握房源管理,实现房东无忧!
    ✍✍计算机毕业编程指导师**⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流!⚡⚡Java、Python、微信小程序、大数据实战项目集⚡⚡文末......
  • 2025年JavaWeb技术打造社区老人健康管理系统,3步轻松设计与实现,建议收藏!
    ✍✍计算机毕业编程指导师**⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流!⚡⚡Java、Python、微信小程序、大数据实战项目集⚡⚡文末......
  • 【智慧城市】新中地GIS开发实训项目:华农优秀学生学习成果展示(1)云游江城
    项目名称:云游江城项目功能简介地球自转城市建筑桥梁航线图导航系统景点查询美食查询资讯简报☑0基础可学  ☑助力就业 ☑优选赛道嘉薇Gis_17得7天试听课+海量GIS资料授课形式:线上/线下,直播+录播均可......
  • 基于Java中的SSM框架实现校园生活管理系统项目【项目源码+论文说明】计算机毕业设计
    基于java中的SSM框架实现校园生活管理系统演示【内附项目源码+LW说明】摘要随着现代化发展进程不断的加快,人们对于网络的接受程度越来越强,现在人们的生活与工作已经离不开网络的帮助。而网络在当下的学校中也已经非常的普及,现在各类学校的网络覆盖率已经接近于100%。基于......