当前位置:网站首页>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
边栏推荐
- BigDecimal数值比较
- Postman tutorial - scripting
- 移动端通过设置rem使页面内容及字体大小自动调整
- Appx代碼簽名指南
- The physical meaning of imaginary number J
- table宽度比tbody宽度大4px
- 2022.7.5DAY597
- The variables or functions declared in the header file cannot be recognized after importing other people's projects and adding the header file
- HAL库配置通用定时器TIM触发ADC采样,然后DMA搬运到内存空间。
- ORM model -- creation and query of data records
猜你喜欢
Adb 实用命令(网络包、日志、调优相关)
Fiddler break point
fiddler-AutoResponder
STM32中AHB总线_APB2总线_APB1总线这些是什么
Weekly recommended short videos: what are the functions of L2 that we often use in daily life?
Google Colab装载Google Drive(Google Colab中使用Google Drive)
浅谈日志中的返回格式封装格式处理,异常处理
Postman interface test II
Postman interface test VII
Memory ==c language 1
随机推荐
Apprentissage avancé des fonctions en es6
2022.7.6DAY598
反卷积通俗详细解析与nn.ConvTranspose2d重要参数解释
Google colab loads Google drive (Google drive is used in Google colab)
【STM32】STM32烧录程序后SWD无法识别器件的问题解决方法
AHB bus in stm32_ Apb2 bus_ Apb1 bus what are these
ISP、IAP、ICP、JTAG、SWD的编程特点
Parameter sniffing (2/2)
电表远程抄表拉合闸操作命令指令
Bit operation ==c language 2
MCU与MPU的区别
字符串格式化
【acwing】786. 第k个数
IO模型复习
Wallys/IPQ6010 (IPQ6018 FAMILY) EMBEDDED BOARD WITH ON-BOARD WIFI DUAL BAND DUAL CONCURRENT
Postman tutorial - scripting
Programming features of ISP, IAP, ICP, JTAG and SWD
ORM -- logical relation and & or; Sort operation, update record operation, delete record operation
STM32 ADC and DMA
A small problem of bit field and symbol expansion