spring注解@SneakyThrows用法及說明
spring注解@SneakyThrows
java中常見的異常有兩種
Exception即非運(yùn)行時(shí)異常(編譯異常)、RuntimeException即運(yùn)行時(shí)異常。
對(duì)于Exception即非運(yùn)行時(shí)異常(編譯異常),必須要開發(fā)者解決以后才能編譯通過,解決的方法有兩種,
- 1、throw到上層
- 2、try-catch處理
對(duì)于RuntimeException即運(yùn)行時(shí)異常,在代碼中可能會(huì)有RunTimeException,但是Java編譯檢查時(shí)是不會(huì)告訴你有這個(gè)異常的,它會(huì)在實(shí)際運(yùn)行代碼時(shí)則會(huì)暴露出來,比如經(jīng)典的1/0,空指針等。
@SneakyThrows注解
是由lombok中封裝的注解,它就是為了消除上面那種拋出異常的模板代碼。
使用注解后,在編譯時(shí),自動(dòng)將注解替換為try-catch。
@SneakyThrows
public void utf8ToString(byte[] bytes) {
return new String(bytes, "UTF-8");
}
真正生成的代碼
public void utf8ToString(byte[] bytes) {
try {
return new String(bytes, "UTF-8");
} catch (Exception e) {
throw Lombok.sneakyThrow(e);
}
}
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot Web工程同時(shí)啟動(dòng)多個(gè)HTTP端口的方法
本文介紹了在SpringbootWeb工程中如何配置多個(gè)HTTP端口,分別以Tomcat、Jetty和Undertow為例,通過修改配置文件和編寫配置類實(shí)現(xiàn)多端口啟動(dòng),并提供了詳細(xì)的代碼供讀者參考,需要的朋友可以參考下2026-04-04
Java8 將List轉(zhuǎn)換為用逗號(hào)隔開的字符串的多種方法
這篇文章主要介紹了Java8 將List轉(zhuǎn)換為用逗號(hào)隔開的字符串的幾種方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
一步步教你JAVA如何優(yōu)化Elastic?Search
想要榨干Java操作Elasticsearch的所有性能潛力?本指南將一步步教你如何優(yōu)化Java與Elasticsearch的交互!從此,提升ES查詢速度、降低資源消耗不再是難題,趕快一起來探索Java?Elasticsearch優(yōu)化的秘訣吧!2024-01-01
解決Springboot get請(qǐng)求是參數(shù)過長的情況
這篇文章主要介紹了解決Springboot get請(qǐng)求是參數(shù)過長的情況,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-09-09
java時(shí)間段查詢將00:00:00更換成23:59:59
本文主要介紹了java時(shí)間段查詢將00:00:00更換成23:59:59,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01

