当前位置:网站首页>Talking about the return format in the log, encapsulation format handling, exception handling
Talking about the return format in the log, encapsulation format handling, exception handling
2022-07-07 10:23:00 【thoughtCodes】
Don't talk about model selection , The main consideration is info Level of data :
General information :
As a general rule , We all encapsulate a return exception class on the project , Used to pack information .
Generally speaking, it is return code and return information , This is the most common .
In order to better check the problem , We designed it as follows :
000000- Business success
000001- Business failure, etc
about Msg Information? :
We can define the information format : Or information tips .
In this way, the corresponding packaging information can be output in different process information .
The information should have rules , Such as XX, reason , Easy to go online grep Search for
Generally, this is ok .
exception handling :
We know the level of exceptions :
We can define our own exception class , It's not commonly used , But you can do this .
It's more about exceptions provided by the framework :
Spring MVC There are the following 3 A way to handle exceptions :
Use Spring MVC The simple exception handler provided SimpleMappingExceptionResolver.
Realization Spring Exception handling interface HandlerExceptionResolver, Customize your own exception handler .
Use @ExceptionHandler Annotation implements exception handling
Inherit exceptions directly from the framework and handle . that will do .
Processing mode :
Direct selling , Leave it to the system .
Catch exceptions by yourself and handle .
Exception handling Basics
1.1 System.out.println It's expensive . call System.out.println Will reduce system throughput .1.2 Don't use abnormal printStackTrace() Method .printStackTrace By default, the call stack will be printed on the console , Accessing the console in a production environment is unrealistic .
Basic principles of exception handling
2.1 If you can't handle exceptions , Do not catch this exception .2.2 If you want to capture , It should be caught near the source of the divorce .
2.3 Don't swallow the anomalies you catch .
*( Is the exception caught , But do nothing )2.4 Unless you want to throw an exception again , Otherwise, take it. log get up .
2.5 When an exception is repackaged , And then throw it again , Do not print statck trace.
2.6 Use custom exception classes , Don't throw an exception every time you need to throw it java.lang.Exception. Method callers can use throws Know what exceptions need to be handled – So it is self describing .
2.7 If you write business logic , For errors that end users cannot fix , The system should throw non checked exceptions (unchecked exception); If you write a third-party package for other developers , For irreparable errors, use exceptions that need to be checked (checked exception).
2.8 Never write because throws Sentences will make you uncomfortable to use , Without declaring the exceptions that need to be checked .
2.9 Application level errors or irreparable system exceptions use non checked exceptions (unchecked exception) Throw out .
*( Attention is wrong , Means irreparable , For example, the configuration file is wrong )2.10 Organize your methods according to the granularity of exceptions
In short :log Printing exception ,, Custom exception , Pay attention to the detected abnormality .
Generally, you can print , The system has defaulted to exception .
Recommended reading :
https://www.cnblogs.com/langtianya/p/6931190.html
边栏推荐
- 嵌入式工程师如何提高工作效率
- 大整数类实现阶乘
- Fiddler simulates the interface test
- Apprentissage avancé des fonctions en es6
- Google colab loads Google drive (Google drive is used in Google colab)
- 电表远程抄表拉合闸操作命令指令
- Guide de signature du Code Appx
- Programming features of ISP, IAP, ICP, JTAG and SWD
- ORM -- query type, association query
- STM32 product introduction
猜你喜欢

SQLyog数据库怎么取消自动保存更改

Adb 实用命令(网络包、日志、调优相关)

ORM model -- creation and query of data records

【学习笔记-李宏毅】GAN(生成对抗网络)全系列(一)

ORM -- logical relation and & or; Sort operation, update record operation, delete record operation

XML configuration file parsing and modeling

Vs code specifies the extension installation location

The request object parses the request body and request header parameters

JMeter about setting thread group and time

Deconvolution popular detailed analysis and nn Convtranspose2d important parameter interpretation
随机推荐
搭建物联网硬件通信技术几种方案
[second on] [jeecgboot] modify paging parameters
基于gis三维可视化技术的智慧城市建设
HDU-2196 树形DP学习笔记
【STM32】STM32烧录程序后SWD无法识别器件的问题解决方法
VS Code指定扩展安装位置
Remote meter reading, switching on and off operation command
字符串格式化
Vs code specifies the extension installation location
嵌入式工程师如何提高工作效率
ORM model -- associated fields, abstract model classes
Word自动生成目录的方法
EasyExcel读取写入简单使用
Encrypt and decrypt stored procedures (SQL 2008/sql 2012)
Study summary of postgraduate entrance examination in November
Postman tutorial - scripting
fiddler-AutoResponder
HAL库配置通用定时器TIM触发ADC采样,然后DMA搬运到内存空间。
SQLyog数据库怎么取消自动保存更改
Study summary of postgraduate entrance examination in August