CN112328497A - Java异常处理方法 - Google Patents
Java异常处理方法 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test 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异常处理方法。
背景技术
异常是程序中的一些错误,异常发生的原因有很多,比如:用户输入了非法数据,要打开的文件不存在,网络通信时连接中断,或者JVM内存溢出等等。
这些异常有的是因为用户错误引起,有的是程序错误引起的,还有其它一些是因为物理错误引起的。
在程序设计中,进行异常处理是非常关键和重要的一部分。一个程序的异常处理框架的好坏直接影响到整个项目的代码质量以及后期维护成本和难度。
目前Java异常处理技术经过多年的发展,已经非常成熟。异常信息处理方法也非常繁多。如何优雅的处理异常是程序员的必修课。
为了保证程序的稳定性,程序员会做非常多的容错处理,尽可能保证程序不崩溃。当程序作了容错处理后,程序真正异常时被容错程序纠正,导致程序员不能及时的发现异常,为程序稳定性和维护埋下了隐患。
因此,如何让程序在开发时暴露异常,在用户使用时不暴露异常是程序设计一个待解决的问题。
发明内容
为解决现有技术中存在的问题,本发明的目的是提供一种Java异常处理方法,本发明采用程序在不同的运行环境,使用不同的异常处理机制,解决程序在开发环境易于暴露漏洞、用户使用环境程序稳定可靠不能兼顾的问题;解决软件代码容错性太好,程序员以及测试人员难以发现漏洞;软件容错性太差,软件可靠性低的问题;通过本方法软件在开发阶段易暴露漏洞,在用户使用阶段安全可靠。
为实现上述目的,本发明采用的技术方案是:一种Java异常处理方法,包括:
为程序设置运行模式,所述的运行模式包括开发模式和用户模式;
切换运行模式,并且针对不同的运行模式采用不同的异常处理机制。
作为本发明的进一步改进,所述的异常处理机制包括:
运行时异常处理:在开发模式下,针对运行时异常不做处理或捕获异常后再抛出,让程序崩溃;在用户模式下,针对运行时异常,程序主动捕获处理,让程序不崩溃;
检查性异常处理:在开发模式下,针对检查性异常,在程序捕获异常后,手动抛出异常,让程序崩溃;在用户模式下,针对检查性异常,程序不再抛出异常;
参数异常处理:在开发模式下,对参数不做异常校验或检验之后抛出异常;在用户模式下,对参数做校验,当参数不合法时,容错处理或函数及时返回。
作为本发明的进一步改进,通过通过用户输入、系统属性切换运行模式。
本发明的有益效果是:
本发明中,在开发模式下,程序无保留的暴露异常,满足了程序开发、测试人员的述求,提高了开发、测试效率,进而提升了程序稳定性。在用户模式下,程序不暴露异常,提升了程序可用性和用户体验。
具体实施方式
实施例1
一种Java异常处理方法,包括:
1、为程序设置运行模式,分为开发模式和用户模式,程序默认处于用户模式下;
2、切换运行模式,通过用户输入、系统属性切换运行模式;
3、运行时异常处理:在开发模式下,针对运行时异常不做处理或捕获异常后再抛出,让程序崩溃;在用户模式下,针对运行时异常,程序主动捕获处理,让程序不崩溃,代码如下所示:
4、检查性异常处理:在开发模式下,针对检查性异常,在程序捕获异常后,手动抛出异常,让程序崩溃;在用户模式下,针对检查性异常,程序不再抛出异常,代码如下所示:
5、参数异常处理:在开发模式下,对参数不做异常校验或检验之后抛出异常;在用户模式下,对参数做校验,当参数不合法时,容错处理或函数及时返回,代码如下所示:
本实施例采用程序在不同的运行模式,使用不同的异常处理机制:
程序运行模式:分为开发模式和用户模式,在开发、测试过程中程序可手动切换到开发模式,在用户使用时运行在用户模式。
不同运行模式采用不同的异常处理机制:开发模式时,针对运行时异常不做处理或捕获异常再抛出,运行异常时,程序正常崩溃;针对检查性异常,在程序捕获异常后,手动抛出异常,让程序崩溃;针对参数异常,程序主动抛出参数异常,让程序崩溃;用户模式时,针对运行时异常,程序主动捕获处理,让程序不崩溃;针对检查性异常,程序捕获后不再抛出异常;针对参数异常,程序做全方位校验,保证程序不崩溃。
本实施例中,1、程序增加开发模式、用户模式;2、程序在开发模式,程序抛出异常,让开发人员感知异常。应用在用户模式,程序内部捕获或不抛出异常,保证程序稳定性,让用户无法感知异常。
以上所述实施例仅表达了本发明的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (3)
1.一种Java异常处理方法,其特征在于,包括:
为程序设置运行模式,所述的运行模式包括开发模式和用户模式;
切换运行模式,并且针对不同的运行模式采用不同的异常处理机制。
2.根据权利要求1所述的Java异常处理方法,其特征在于,所述的异常处理机制包括:
运行时异常处理:在开发模式下,针对运行时异常不做处理或捕获异常后再抛出,让程序崩溃;在用户模式下,针对运行时异常,程序主动捕获处理,让程序不崩溃;
检查性异常处理:在开发模式下,针对检查性异常,在程序捕获异常后,手动抛出异常,让程序崩溃;在用户模式下,针对检查性异常,程序不再抛出异常;
参数异常处理:在开发模式下,对参数不做异常校验或检验之后抛出异常;在用户模式下,对参数做校验,当参数不合法时,容错处理或函数及时返回。
3.根据权利要求1所述的Java异常处理方法,其特征在于,通过通过用户输入、系统属性切换运行模式。
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)
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 | 腾讯科技(深圳)有限公司 | 一种应用程序中异常处理方法及装置 |
-
2020
- 2020-11-27 CN CN202011363113.XA patent/CN112328497A/zh active Pending
Patent Citations (5)
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)
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 |