CN112328497A - Java异常处理方法 - Google Patents

Java异常处理方法 Download PDF

Info

Publication number
CN112328497A
CN112328497A CN202011363113.XA CN202011363113A CN112328497A CN 112328497 A CN112328497 A CN 112328497A CN 202011363113 A CN202011363113 A CN 202011363113A CN 112328497 A CN112328497 A CN 112328497A
Authority
CN
China
Prior art keywords
program
mode
exception handling
exception
development
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011363113.XA
Other languages
English (en)
Inventor
田伟
张孝友
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Changhong Electric Co Ltd
Original Assignee
Sichuan Changhong Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sichuan Changhong Electric Co Ltd filed Critical Sichuan Changhong Electric Co Ltd
Priority to CN202011363113.XA priority Critical patent/CN112328497A/zh
Publication of CN112328497A publication Critical patent/CN112328497A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种Java异常处理方法,包括:为程序设置运行模式,所述的运行模式包括开发模式和用户模式;切换运行模式,并且针对不同的运行模式采用不同的异常处理机制。本发明采用程序在不同的运行环境,使用不同的异常处理机制,解决程序在开发环境易于暴露漏洞、用户使用环境程序稳定可靠不能兼顾的问题;解决软件代码容错性太好,程序员以及测试人员难以发现漏洞;软件容错性太差,软件可靠性低的问题;通过本方法软件在开发阶段易暴露漏洞,在用户使用阶段安全可靠。

Description

Java异常处理方法
技术领域
本发明涉及软件开发技术领域,特别是一种Java异常处理方法。
背景技术
异常是程序中的一些错误,异常发生的原因有很多,比如:用户输入了非法数据,要打开的文件不存在,网络通信时连接中断,或者JVM内存溢出等等。
这些异常有的是因为用户错误引起,有的是程序错误引起的,还有其它一些是因为物理错误引起的。
在程序设计中,进行异常处理是非常关键和重要的一部分。一个程序的异常处理框架的好坏直接影响到整个项目的代码质量以及后期维护成本和难度。
目前Java异常处理技术经过多年的发展,已经非常成熟。异常信息处理方法也非常繁多。如何优雅的处理异常是程序员的必修课。
为了保证程序的稳定性,程序员会做非常多的容错处理,尽可能保证程序不崩溃。当程序作了容错处理后,程序真正异常时被容错程序纠正,导致程序员不能及时的发现异常,为程序稳定性和维护埋下了隐患。
因此,如何让程序在开发时暴露异常,在用户使用时不暴露异常是程序设计一个待解决的问题。
发明内容
为解决现有技术中存在的问题,本发明的目的是提供一种Java异常处理方法,本发明采用程序在不同的运行环境,使用不同的异常处理机制,解决程序在开发环境易于暴露漏洞、用户使用环境程序稳定可靠不能兼顾的问题;解决软件代码容错性太好,程序员以及测试人员难以发现漏洞;软件容错性太差,软件可靠性低的问题;通过本方法软件在开发阶段易暴露漏洞,在用户使用阶段安全可靠。
为实现上述目的,本发明采用的技术方案是:一种Java异常处理方法,包括:
为程序设置运行模式,所述的运行模式包括开发模式和用户模式;
切换运行模式,并且针对不同的运行模式采用不同的异常处理机制。
作为本发明的进一步改进,所述的异常处理机制包括:
运行时异常处理:在开发模式下,针对运行时异常不做处理或捕获异常后再抛出,让程序崩溃;在用户模式下,针对运行时异常,程序主动捕获处理,让程序不崩溃;
检查性异常处理:在开发模式下,针对检查性异常,在程序捕获异常后,手动抛出异常,让程序崩溃;在用户模式下,针对检查性异常,程序不再抛出异常;
参数异常处理:在开发模式下,对参数不做异常校验或检验之后抛出异常;在用户模式下,对参数做校验,当参数不合法时,容错处理或函数及时返回。
作为本发明的进一步改进,通过通过用户输入、系统属性切换运行模式。
本发明的有益效果是:
本发明中,在开发模式下,程序无保留的暴露异常,满足了程序开发、测试人员的述求,提高了开发、测试效率,进而提升了程序稳定性。在用户模式下,程序不暴露异常,提升了程序可用性和用户体验。
具体实施方式
实施例1
一种Java异常处理方法,包括:
1、为程序设置运行模式,分为开发模式和用户模式,程序默认处于用户模式下;
2、切换运行模式,通过用户输入、系统属性切换运行模式;
3、运行时异常处理:在开发模式下,针对运行时异常不做处理或捕获异常后再抛出,让程序崩溃;在用户模式下,针对运行时异常,程序主动捕获处理,让程序不崩溃,代码如下所示:
Figure BDA0002804578760000031
4、检查性异常处理:在开发模式下,针对检查性异常,在程序捕获异常后,手动抛出异常,让程序崩溃;在用户模式下,针对检查性异常,程序不再抛出异常,代码如下所示:
Figure BDA0002804578760000032
5、参数异常处理:在开发模式下,对参数不做异常校验或检验之后抛出异常;在用户模式下,对参数做校验,当参数不合法时,容错处理或函数及时返回,代码如下所示:
Figure BDA0002804578760000041
本实施例采用程序在不同的运行模式,使用不同的异常处理机制:
程序运行模式:分为开发模式和用户模式,在开发、测试过程中程序可手动切换到开发模式,在用户使用时运行在用户模式。
不同运行模式采用不同的异常处理机制:开发模式时,针对运行时异常不做处理或捕获异常再抛出,运行异常时,程序正常崩溃;针对检查性异常,在程序捕获异常后,手动抛出异常,让程序崩溃;针对参数异常,程序主动抛出参数异常,让程序崩溃;用户模式时,针对运行时异常,程序主动捕获处理,让程序不崩溃;针对检查性异常,程序捕获后不再抛出异常;针对参数异常,程序做全方位校验,保证程序不崩溃。
本实施例中,1、程序增加开发模式、用户模式;2、程序在开发模式,程序抛出异常,让开发人员感知异常。应用在用户模式,程序内部捕获或不抛出异常,保证程序稳定性,让用户无法感知异常。
以上所述实施例仅表达了本发明的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

Claims (3)

1.一种Java异常处理方法,其特征在于,包括:
为程序设置运行模式,所述的运行模式包括开发模式和用户模式;
切换运行模式,并且针对不同的运行模式采用不同的异常处理机制。
2.根据权利要求1所述的Java异常处理方法,其特征在于,所述的异常处理机制包括:
运行时异常处理:在开发模式下,针对运行时异常不做处理或捕获异常后再抛出,让程序崩溃;在用户模式下,针对运行时异常,程序主动捕获处理,让程序不崩溃;
检查性异常处理:在开发模式下,针对检查性异常,在程序捕获异常后,手动抛出异常,让程序崩溃;在用户模式下,针对检查性异常,程序不再抛出异常;
参数异常处理:在开发模式下,对参数不做异常校验或检验之后抛出异常;在用户模式下,对参数做校验,当参数不合法时,容错处理或函数及时返回。
3.根据权利要求1所述的Java异常处理方法,其特征在于,通过通过用户输入、系统属性切换运行模式。
CN202011363113.XA 2020-11-27 2020-11-27 Java异常处理方法 Pending CN112328497A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011363113.XA CN112328497A (zh) 2020-11-27 2020-11-27 Java异常处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011363113.XA CN112328497A (zh) 2020-11-27 2020-11-27 Java异常处理方法

Publications (1)

Publication Number Publication Date
CN112328497A true CN112328497A (zh) 2021-02-05

Family

ID=74309748

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011363113.XA Pending CN112328497A (zh) 2020-11-27 2020-11-27 Java异常处理方法

Country Status (1)

Country Link
CN (1) CN112328497A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050015675A1 (en) * 2003-07-03 2005-01-20 Kolawa Adam K. Method and system for automatic error prevention for computer software
US20090113399A1 (en) * 2007-10-24 2009-04-30 Rachel Tzoref Device, System and Method of Debugging Computer Programs
CN104331367A (zh) * 2014-11-12 2015-02-04 浪潮(北京)电子信息产业有限公司 Java工程项目开发中异常处理的方法及系统
CN106571975A (zh) * 2016-10-19 2017-04-19 武汉斗鱼网络科技有限公司 一种通信数据的容错方法及装置
CN108345542A (zh) * 2018-02-28 2018-07-31 腾讯科技(深圳)有限公司 一种应用程序中异常处理方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050015675A1 (en) * 2003-07-03 2005-01-20 Kolawa Adam K. Method and system for automatic error prevention for computer software
US20090113399A1 (en) * 2007-10-24 2009-04-30 Rachel Tzoref Device, System and Method of Debugging Computer Programs
CN104331367A (zh) * 2014-11-12 2015-02-04 浪潮(北京)电子信息产业有限公司 Java工程项目开发中异常处理的方法及系统
CN106571975A (zh) * 2016-10-19 2017-04-19 武汉斗鱼网络科技有限公司 一种通信数据的容错方法及装置
CN108345542A (zh) * 2018-02-28 2018-07-31 腾讯科技(深圳)有限公司 一种应用程序中异常处理方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
吴寒思 等: "基于智能客户端的企业应用开发框架", 《计算机工程与设计》 *
梅青平 等: "《J2SE快速入门经典》", 31 July 2016, 西南交通大学出版 *

Similar Documents

Publication Publication Date Title
Xu et al. Early detection of configuration errors to reduce failure damage
US7185321B1 (en) Method and system for debugging through supervisory operating codes and self modifying codes
US7428663B2 (en) Electronic device diagnostic methods and systems
CN107077412B (zh) 单层或n层应用的自动化根本原因分析
US8140908B2 (en) System and method of client side analysis for identifying failing RAM after a user mode or kernel mode exception
US20120331449A1 (en) Device, method and computer program product for evaluating a debugger script
US20070079288A1 (en) System and method for capturing filtered execution history of executable program code
KR20160044484A (ko) 클라우드 배치 기반구조 검증 엔진
Zhang et al. Understanding and detecting software upgrade failures in distributed systems
KR20080050118A (ko) 임베디드용 소프트웨어의 오류 검출 방법
US20190073292A1 (en) State machine software tester
CN104216746B (zh) 一种星上设备dsp程序地面在线烧写的实时监控和校验方法
US20050015579A1 (en) Handling exceptions
Cabral et al. A transactional model for automatic exception handling
CN107168773A (zh) 一种jvm崩溃后问题定位及应用恢复的处理方法及装置
CN111240980A (zh) 一种基于云管平台的自动回归测试方法
CN110851352A (zh) 一种模糊测试系统及终端设备
Lee et al. Measurement-based evaluation of operating system fault tolerance
CN106294036A (zh) 一种硬件故障验证方法、装置及客户端
US20120110383A1 (en) Method and apparatus for off-line analyzing crashed programs
CN106909382B (zh) 输出不同类型系统启动信息的方法及装置
CN117667672A (zh) 一种用于工业软件的Python代码远程调试方法及系统
US7827540B2 (en) Method for program debugging
CN112328497A (zh) Java异常处理方法
Montrucchio et al. Fault injection in the process descriptor of a Unix-based operating system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20210205

RJ01 Rejection of invention patent application after publication