第12章 异常处理
- 格式:pdf
- 大小:603.37 KB
- 文档页数:28
订单异常处理管理制度第1章总则第1条目的为规范订单异常的处理过程,对异常订单进行及时有效的处理,特制定本制度。
第2条适用范围本制度适用于采购部的异常订单处理工作。
第3条管理职责1. 采购部负责及时有效地将异常信息传递给请购部门,以便企业及时调整生产计划,并与供应商积极协商处理异常情况。
2. 请购部门负责协助采购部解决订单异常情况,根据需求及时调整订单。
第4条术语解释1. 本制度所称“交期异常”,是指物资交期延后或交货数量变更,无法满足生产需要。
2. 本制度所称“品质异常”,是指供应商在生产中发现的品质异常以及验收人员发现的品质异常。
3. 本制度所称“下单异常”,是指由于采购专员的主观因素导致的订单下发异常。
4. 本制度所称“弹性处理”,是指原订单客户要求提前交期或变更交付计划等导致的采购异常。
5. 本制度所称“突发异常”,是指发生不可抗拒的外力因素(如地震、火灾等)或市场原材料严重紧缺等突发情况。
第2章交期异常的处理第5条交期异常情况获取1. 采购专员需在下单后及时跟踪订单情况,及时获取订单交货进度。
2. 采购专员一般通过以下两种途径获取交期异常信息。
(1)供应商电话通知。
(2)物资交期自行排查。
第6条交期异常反馈采购专员得知异常后,应及时向采购经理和请购部门反馈信息,以便及时进行补救或调整。
第7条交期异常的处理措施1. 采购专员需要采取积极措施,尽量挽回损失。
2. 采购专员可以采取以下三类措施。
(1)采用跟催法催交物资。
(2)变更采购订单。
(3)替换供应商。
第8条评估交期异常造成的损失1. 采购部应积极联络相关部门评估损失费用。
2. 采购部应视情况向供应商进行索赔。
(1)经确认,如交期异常因发生重大事故或灾害(如严重火灾、地震等)或市场原材料严重短缺而引起,企业可视情况追究供应商部分责任或不追究责任。
(2)如交期异常的原因属供应商可控制的因素,如企业停工待料、浪费工时等,采购专员应以“供应商扣款通知单”的形式通知供应商进行相应的赔偿。
异常处理机制异常处理是指在程序执行过程中发生错误或异常时,如何保证程序能够继续运行而不中断的一种机制。
异常处理机制是现代编程语言和操作系统的核心特性之一,它可以帮助开发人员及时发现并处理程序中的错误,保证程序的稳定性和可靠性。
异常处理机制的基本原理是将代码分为两个部分:正常代码和异常处理代码。
正常代码是程序的主要逻辑部分,用于执行预期的操作;而异常处理代码则是用于捕获和处理异常的代码段。
当程序执行过程中出现异常时,异常处理代码会被触发执行,并根据不同的异常类型进行相应的处理。
1.异常类型定义:异常类型是指在程序执行过程中可能会出现的错误或异常情况。
不同的编程语言和操作系统提供了一系列的异常类型,用于表示不同的错误或异常情况。
开发人员可以根据需要自定义异常类型来表示特定的错误或异常。
2.异常抛出:当程序执行过程中发生错误或异常情况时,会通过抛出异常的方式将错误信息传递给上层调用者。
异常抛出会中断当前的执行流程,并将错误信息传递给上层调用者。
异常抛出的过程通常由编程语言或操作系统自动完成,开发人员只需要在适当的地方使用关键字或函数来抛出异常即可。
3. 异常捕获:异常捕获是指在程序执行过程中,通过捕获异常的方式来处理错误或异常情况。
异常捕获可以在代码中的任意位置进行,通常通过使用try-catch语句块来实现。
try语句块用于执行可能引发异常的代码,catch语句块用于捕获异常并进行处理。
4.异常处理:异常处理是指在捕获异常后,对异常进行处理的一系列操作。
异常处理的方式可以有很多种,包括打印错误信息、记录日志、重试操作等。
开发人员可以根据具体的业务需求和异常类型来选择适当的异常处理方式。
1.提高程序的可靠性和稳定性:异常处理可以帮助开发人员及时发现并处理错误,避免程序崩溃或异常退出。
通过合理地捕获和处理异常,可以确保程序能够继续运行而不中断,提高程序的可靠性和稳定性。
2.简化调试和错误定位:异常处理可以将错误信息准确地传递给上层调用者,有助于开发人员快速定位和解决问题。
过程处理异常处理流程下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!1. 异常捕获:在程序执行过程中,使用适当的异常捕获机制来捕获可能发生的异常。
异常处置的基本流程一、引言异常是指在程序运行过程中出现的错误、故障或意外情况。
在软件开发和运维过程中,异常处置是非常重要的一环。
本文将介绍异常处置的基本流程,以帮助读者更好地理解和应对异常情况。
二、异常检测异常检测是异常处置的第一步。
在程序运行过程中,需要设置相应的机制来检测异常的发生。
常见的异常检测方法包括使用 try-catch 语句、断言、日志记录等。
通过这些方法,可以在异常发生时及时捕获异常信息。
三、异常分类异常可以分为两种类型:受检异常和非受检异常。
受检异常是指在编译期间就能够被检测到的异常,需要在代码中显式地处理。
非受检异常是指在运行期间才能够被检测到的异常,可以选择性地处理。
对于受检异常,需要使用 try-catch 语句进行捕获和处理;对于非受检异常,可以通过设置全局异常处理器来处理。
四、异常捕获和处理异常捕获和处理是异常处置的核心步骤。
在捕获异常时,需要使用try-catch 语句将可能抛出异常的代码块包裹起来。
在 catch 语句中,可以根据异常的类型来进行不同的处理。
常见的处理方式包括记录日志、显示错误信息、回滚事务、重新抛出异常等。
在处理异常时,需要根据具体情况来选择合适的处理方式,并确保异常能够得到妥善处理,不会对系统的正常运行产生影响。
五、异常处理链在实际应用中,可能会遇到多个异常需要处理的情况。
为了提高代码的可读性和可维护性,可以使用异常处理链来处理这种情况。
异常处理链是指将多个 catch 语句连接起来,按照异常的类型从上到下逐个进行匹配和处理。
在异常处理链中,可以根据异常的类型来选择合适的处理方式,从而提高代码的灵活性和可扩展性。
六、异常抛出除了捕获和处理异常外,有时还需要手动抛出异常。
在代码执行过程中,如果发现某些情况不符合预期,可以使用 throw 关键字来抛出异常。
抛出异常的目的是告知调用者当前代码无法正常执行,并传递相关的异常信息。
在抛出异常时,需要选择合适的异常类型,并提供清晰明确的异常信息,以便调用者能够准确理解异常的原因和解决方法。
第12章异常处理一.单项选择题1.程序中的错误可以分为以下三类,除了【】。
A) 逻辑错误B) 运行错误C) 自定义错误D) 语法错误2.程序运行期间发生的错误称为【】。
A) 版本B) 断点C) 异常D) 属性3.在C#程序中,可以使用try…catch机制来处理程序出现的【】错误。
A) 语法B) 拼写C) 运行D) 逻辑4.以下关于C#的异常处理的叙述中,正确的是【】。
A) 一个try块后面只能跟随一个catch块B) 在try…catch…finally块中,当发生异常时只执行相应catch块中的语句,不会执行finally块C) throw语句中必须指出抛出的异常D) try块后面必须跟catch块或finally块组合使用,不能单独使用5.以下关于try…catch…finall语句的叙述中,不正确的是【】。
A) catch块可以有多个B) finally块最多只能有一个C) catch块和finally块都是可选的D) 可以只有try块,没有catch块和finally块6.一般情况下,异常类存放在【】中。
A) System.Exception命名空间B) System.Diagnostics命名空间C) System命名空间D) Exception命名空间7.分析下列程序代码:int num;try{ num= Convert.ToInt32(Console.ReadLine()); }Catch{ //捕获异常}当输入"abc"时,会抛出【】异常。
A) FormatException B) IndexOutOfRangExceptionC) OverflowException D) TypeLoadException8.用户定义的异常应该从【】类中继承。
A) ArgumentException B) IOExceptionC) SystemException D) Exception9..NET Framework中,处理异常是很有用的功能。
异常处理机制范文异常处理机制是指在程序运行过程中,当出现错误或异常情况时,通过捕获和处理异常来保证程序的正常执行。
异常可以是程序自身内部错误,也可以是外部环境和资源导致的错误。
异常处理机制的目的是让程序在出现异常时能够给出相应的处理方式,使程序具备一定的容错性和鲁棒性。
异常处理机制的基本流程包括抛出异常和捕获异常两个步骤。
当在程序中发生异常时,系统会创建一个异常对象,并将该异常对象抛出。
异常对象携带了异常发生时的具体信息,比如异常类型、异常消息、异常发生的位置等。
程序会按照顺序查找异常处理代码,直到找到合适的异常处理代码来捕获并处理该异常。
异常处理代码可以包括try-catch语句块、try-finally语句块和try-with-resources语句块等。
1.提高程序的可靠性和容错性:通过异常处理,程序可以在出现异常时提供相应的处理方式,避免程序因为异常而终止执行,使程序更具弹性和健壮性。
2.简化代码结构:异常处理机制可以将错误处理代码统一集中处理,简化了程序的结构和逻辑,提高了代码的可读性和维护性。
3.提供良好的错误信息:异常处理机制会生成异常对象,其中携带了异常发生的具体信息,包括异常类型、异常消息、异常发生的位置等,能够帮助程序员更快地定位和修复错误。
在Java中,异常分为两类:受检异常(checked exception)和非受检异常(unchecked exception)。
受检异常是指需要在代码中显式捕获和处理的异常,比如IOException、SQLException等。
非受检异常是指不需要在代码中显示捕获和处理的异常,比如NullPointerExceptio、ArithmeticException等。
1. 使用try-catch语句块捕获异常:通过try-catch语句块可以捕获指定类型的异常,并提供相应的处理逻辑。
catch语句块中可以有多个catch语句,分别捕获不同类型的异常,也可以使用多个catch语句来捕获同一类型的异常,处理逻辑由程序员自行决定。
异常处理基本流程七步第一步:捕获异常异常处理的第一步是捕获异常。
当我们预料到某一段代码可能会抛出异常时,我们可以使用try语句来捕获这个异常。
在try语句中的代码块中执行可能会出现异常的代码,一旦抛出异常,会跳转到except语句块中进行处理。
第二步:处理异常在except语句块中,我们可以对捕获到的异常进行处理。
我们可以根据不同的异常类型,进行相应的处理。
比如可以输出异常信息、记录日志、返回特定的值等。
在处理异常的过程中,我们可以选择让程序继续执行或者终止程序。
第三步:抛出异常有时候,在处理异常时,我们可能并不知道如何处理这个异常,或者希望让调用者来处理这个异常。
这时候可以使用raise语句来手动抛出异常。
通过raise语句,我们可以显示地抛出异常,并将异常传递给调用者。
第四步:清理操作在异常处理之后,我们有时候需要进行一些清理操作。
比如关闭文件、释放资源、恢复状态等。
为了确保程序的稳定性,我们应该在finally语句块中执行这些清理操作。
finally语句块中的代码会在try语句块中的代码执行完毕之后无论是否发生异常都会执行。
第五步:自定义异常除了使用系统定义的异常类型外,我们还可以自定义异常类型。
通过自定义异常类型,我们可以更好地组织和管理异常情况。
通常我们可以通过定义一个类,并继承自Exception类来创建自定义异常类型。
在程序中抛出自定义异常,可以使代码更加条理清晰。
第六步:异常链在进行异常处理时,有时候一个异常会引发另一个异常,这种情况称为异常链。
为了更好地处理异常链,我们可以使用raise语句来将一个异常传递给另一个异常。
通过这种方式,可以很容易地追踪异常的传递过程,更好地定位问题所在。
第七步:记录日志在程序中良好的记录日志是非常有必要的。
通过记录日志,我们可以更好地追踪程序运行的过程,了解程序中可能存在的异常情况。
在异常处理时,输出异常信息到日志中,可以帮助我们更好地定位、分析问题,并进行及时的处理。
容错与异常处理在计算机科学领域中,容错与异常处理是非常重要的概念。
在编写程序时,我们必须考虑到可能发生的错误和异常情况,并采取适当的措施来处理这些情况,以确保程序能够正常运行并提供准确可靠的结果。
本文将探讨容错与异常处理的概念、原则和方法。
一、容错的概念和意义容错是指在系统或程序执行过程中,能够检测到错误和异常情况,并能够进行相应的处理,以防止系统崩溃或数据丢失。
容错的目的是增强系统的可靠性和稳定性,提高用户的使用体验。
当系统在面对错误和异常时能够自动进行处理,用户不会感到困惑或受到不必要的干扰,从而确保系统的可用性和效率。
二、异常处理的原则1. 鲁棒性:程序应具有良好的鲁棒性,能够正常处理各种异常情况。
程序应该能够适应不同的输入和操作,防止因为一些小错误而导致整个程序崩溃或出现未知结果。
2. 兼容性:不同操作系统、不同硬件环境下的异常处理应保持一致。
为了提高程序的可移植性和兼容性,异常处理应该遵循通用的原则和方法,而不是针对特定的平台或环境进行设计。
3. 可读性:异常处理的代码要具备良好的可读性,便于程序员理解和调试。
使用有意义的异常处理标识符和注释,以及清晰简洁的代码结构,可以提高代码的可读性和可维护性。
三、常见的异常处理方法1. 异常捕获与处理:使用try-catch语句块来捕获异常,并根据异常类型进行相应的处理。
可以捕获特定类型的异常,并在catch块中编写相应的处理代码。
同时,可以使用finally块来执行无论是否出现异常都需要执行的代码。
2. 异常抛出与传递:当在当前函数无法处理异常时,可以将异常抛出给调用者进行处理。
通过使用throw关键字,可以将异常抛出,并在调用栈中一层层传递,直到找到能够处理该异常的地方为止。
3. 异常日志记录:为了方便调试和排查异常,可以采用日志记录的方式来记录异常信息。
通过记录详细的异常信息和上下文相关的数据,可以帮助程序员追踪异常的发生原因,并进行相应的修复和优化。
数据结构中的异常处理与容错机制在数据结构中,异常处理和容错机制是非常重要的概念。
异常处理是指在程序运行时发生错误或异常情况时,如何进行适当的处理,以确保程序的稳定性和可靠性。
容错机制是指在面对错误和异常情况时,如何保证程序能够继续正常运行或者如何进行相应的补救措施。
1. 异常处理的基本概念和原则异常处理是一种对程序异常情况进行捕获和处理的机制。
在处理异常时,我们可以使用一些预先定义好的异常类来表示不同的异常情况,并在程序中使用try-catch语句来捕获和处理这些异常。
异常处理的基本原则包括:1.1 异常的分类和层次在数据结构中,异常可以分为不同的类型,如输入错误、内存溢出、空指针引用等。
这些异常一般都继承自异常类的层次结构,形成了一个异常类的分类体系。
1.2 异常处理的机制在程序中,使用try-catch语句块来捕获和处理异常。
try块用于执行可能会引发异常的代码,catch块用于捕获并处理异常。
当异常发生时,程序会从try块跳转到catch块,并执行相应的异常处理代码。
1.3 异常处理的优先级在捕获和处理异常时,异常类的继承关系决定了异常处理的优先级。
如果在catch块中定义了多个异常的处理方式,Java会先匹配最具体的异常类型,然后逐级向上匹配,直到找到合适的处理代码为止。
2. 常见的异常处理策略在数据结构中,我们通常会使用以下几种常见的异常处理策略来提高程序的稳定性和可靠性。
2.1 异常信息的记录与输出当程序发生异常时,及时记录异常信息并输出是非常重要的。
我们可以使用日志记录工具,如Log4j或日志类库来记录异常信息,并在控制台或日志文件中输出这些信息。
这样可以帮助我们更好地了解异常产生的原因,以便更好地进行处理和修复。
2.2 异常的传播与追踪在程序中,异常不仅可以在本地进行处理,还可以将异常传递给调用者进行处理。
通过异常的传播和追踪,可以更好地定位异常发生的位置和原因,并根据需要进行相应的处理措施。
异常处理方法及流程异常处理是指在程序运行过程中,处理可能出现的错误或异常情况的一种程序设计模式。
异常处理的目的是保证程序能够正常运行,避免程序崩溃或产生不可预料的结果。
本文将介绍一种常见的异常处理方法及流程。
异常处理方法及流程主要包括以下几个步骤:1. 检测异常:在程序中添加适当的代码来检测可能发生的异常。
这可以通过使用try语句块来实现。
try语句块包含可能引发异常的代码段。
2. 异常处理:当异常被引发时,可以通过使用catch块来处理异常。
catch块包含用于处理异常的代码段。
在catch块中,可以编写适当的代码来处理异常情况,比如打印错误信息、记录日志、回滚事务等。
3. 异常类型匹配:catch块中可以指定处理特定类型的异常。
在Java中,可以使用多个catch块来处理不同类型的异常。
异常类型匹配是根据异常类型来确定哪个catch块将被执行。
4. finally块:finally块是一个可选的代码块,用于定义在任何情况下都将执行的代码。
无论是否发生异常,finally块中的代码都会被执行。
通常在finally块中释放资源,比如关闭文件、数据库连接等。
下面是一个简单的示例:```try{// 可能引发异常的代码int result = 10 / 0;} catch(ArithmeticException e){// 处理特定类型的异常System.out.println("除数不能为零");e.printStackTrace();} catch(Exception e){// 处理其他类型的异常System.out.println("发生了未知异常");e.printStackTrace();} finally{// 释放资源或执行必要的清理操作System.out.println("执行finally块");}```在上述示例中,try块中的代码会引发一个ArithmeticException 异常,因为除数为零。
异常处理规范范本一、引言在软件开发和系统运维中,异常是不可避免的。
良好的异常处理规范能够帮助开发人员和运维人员高效、准确地定位和解决异常情况,保证系统的可靠性和稳定性。
本文旨在提供一个异常处理规范范本,为开发和运维团队提供参考,以确保在应对异常情况时能够采取一致的、合理的处理方式。
二、异常分类异常情况可以根据其来源和性质进行分类。
根据来源,可以将异常分为预期异常和非预期异常;根据性质,可以将异常分为逻辑异常和技术异常。
在处理异常时,需要根据具体情况选择相应的处理方式。
1. 预期异常预期异常是在开发过程中能够事先预见并合理处理的异常情况。
这些异常通常是由于用户输入错误、外部依赖的变化等原因引起的。
对于预期异常,应尽量通过用户友好的提示信息引导用户修正错误或采取必要的补救措施。
2. 非预期异常非预期异常是在运行过程中出现的意外情况,无法事先预见并处理的异常。
这些异常通常是由于编程错误、硬件故障、网络异常等原因引起的。
对于非预期异常,应及时记录异常信息,并根据操作手册或应急预案进行恢复操作或报告。
3. 逻辑异常逻辑异常是指程序在执行过程中发生的不符合预期的错误。
这些异常可能是由于错误的业务逻辑、错误的数据处理等引起的。
在处理逻辑异常时,应通过日志记录、错误码等方式快速定位异常原因,并进行适当的补救措施。
4. 技术异常技术异常是指软件或系统在运行过程中出现的技术性故障。
这些异常可能是由于网络中断、数据库连接失败、硬件故障等引起的。
在处理技术异常时,应首先排除外部依赖的故障,如网络、数据库等,然后根据错误日志或监控信息定位异常原因,并采取相应的修复措施。
三、异常处理流程良好的异常处理流程是保证系统可靠性的重要保障。
以下是一个示例的异常处理流程,供参考:1. 捕获异常开发人员应在程序中的关键位置捕获异常,避免异常的传递导致系统崩溃或运行不稳定。
捕获异常时,要确保异常信息能够被完整记录,以便后续分析和定位。
2. 记录异常信息在捕获异常后,应及时记录异常信息,包括异常类型、发生时间、异常栈等,以便后续分析和定位异常原因。
异常处理流程异常处理是软件开发中非常重要的一环,它涉及到程序在运行过程中出现的错误或异常情况的处理。
良好的异常处理流程可以有效地保障程序的稳定性和可靠性,提高用户体验,下面我们就来详细介绍一下异常处理流程的相关内容。
首先,异常处理流程的第一步是异常捕获。
在程序运行过程中,可能会出现各种各样的异常情况,比如空指针异常、数组越界异常、文件不存在异常等。
为了及时发现并处理这些异常,我们需要在程序中设置相应的异常捕获机制,通过try-catch语句块来捕获可能发生的异常,确保程序可以在出现异常时进行适当的处理,而不至于导致程序崩溃或出现不可预料的错误。
其次,异常处理流程的第二步是异常处理。
一旦程序捕获到异常,就需要根据具体的异常情况来进行相应的处理。
通常情况下,我们可以在catch语句块中编写处理异常的代码,比如输出错误日志、给用户提示错误信息、进行异常信息的记录和统计等。
在处理异常的过程中,我们需要根据异常的类型和严重程度来选择合适的处理方式,保证程序可以在出现异常时尽快恢复正常运行状态。
接着,异常处理流程的第三步是异常抛出。
有些异常情况可能无法在当前方法或代码块中得到有效处理,这时就需要将异常抛出到调用方进行处理。
在捕获到异常后,我们可以使用throw关键字将异常抛出,让调用方来处理异常。
这样可以有效地将异常的处理责任交给调用方,提高代码的复用性和可维护性。
最后,异常处理流程的最后一步是异常处理的规范化和优化。
在实际的开发过程中,我们需要根据项目的实际情况和需求来规范和优化异常处理流程。
比如制定统一的异常处理规范、优化异常处理代码、提高异常处理的效率和性能等。
通过规范化和优化异常处理流程,可以提高程序的健壮性和稳定性,减少因异常情况导致的不必要的损失和影响。
总之,异常处理流程是软件开发中不可或缺的一部分,它对程序的稳定性和可靠性起着至关重要的作用。
通过建立完善的异常处理流程,我们可以及时发现和处理程序中的异常情况,保障程序的正常运行,提高用户体验,为软件的质量和可靠性提供有力的保障。
数据库事务处理中的异常处理与回滚机制数据库事务是指一系列数据库操作的逻辑单元,这些操作要么全部成功执行,要么全部回滚。
在数据库事务处理中,异常处理和回滚机制是非常重要的部分。
异常处理是指当在事务处理过程中发生错误或异常时,如何正确处理这些错误;回滚机制是指当事务无法正常执行时,如何将数据库恢复到事务开始之前的状态。
本文将重点讨论数据库事务处理中的异常处理和回滚机制。
在数据库事务处理中,异常处理是确保数据一致性和完整性的关键环节。
当某个操作无法正确执行时,数据库引擎会抛出异常。
针对异常,我们可以采取多种不同的处理方式,具体取决于异常的类型和发生的位置。
首先,最常见的异常是数据校验异常,例如违反唯一约束的插入操作,违反外键约束的更新操作等。
这些异常通常可以通过在应用程序中预先进行校验来避免,如添加合适的约束和检查数据的合法性。
当出现这类异常时,一般的处理方式是回滚当前事务,并向用户提供相应的错误提示。
其次,还可能出现数据库连接异常和事务超时异常等。
当数据库连接出现问题时,可以尝试重新建立连接或者使用连接池解决。
而事务超时异常,通常是因为事务执行时间过长导致的,解决方式是调整事务超时时间或优化事务逻辑。
除了上述常见的异常处理外,还可能出现一些意外情况,如硬件故障、系统崩溃等。
这些异常可能会导致数据库的不可用或不一致状态。
为了保证数据的安全性,可以使用备份和恢复机制来预防和处理这些异常。
另外,回滚机制在事务处理中也具有重要作用。
回滚是指将数据库恢复到事务开始之前的状态,以保证数据的一致性和完整性。
当事务执行过程中出现错误或异常,我们可以利用回滚机制来撤销已执行的操作,避免对数据库造成不可逆的影响。
在数据库事务处理中,回滚机制可以通过两种方式实现:撤销和重做。
撤销指的是执行与事务相关的操作的逆操作,将已经写入数据库的数据恢复到原始的状态。
重做则是重新执行之前已完成的操作,将数据恢复到事务提交之后的状态。
实现回滚机制的主要方式是使用日志记录和恢复技术。