springboot java.util.NoSuchElementException: No value present 异常处理
生活随笔
收集整理的這篇文章主要介紹了
springboot java.util.NoSuchElementException: No value present 异常处理
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
當(dāng)通過(guò)jpa通過(guò)id查詢時(shí),使用 findById(id).get(),當(dāng)id不存在當(dāng),也就是數(shù)據(jù)庫(kù)沒(méi)有對(duì)應(yīng)當(dāng)id數(shù)據(jù)時(shí),就回報(bào)上面當(dāng)異常
后來(lái)查看源碼,發(fā)現(xiàn):
public T get() {if (value == null) {throw new NoSuchElementException("No value present");}return value;}也就是說(shuō)當(dāng)查不到值的時(shí)候,jpa統(tǒng)一處理為拋異常,所以每次取之前都要判斷有沒(méi)有數(shù)據(jù),后來(lái)發(fā)現(xiàn)了這個(gè)
public boolean isPresent() {return value != null;}于是代碼就這樣寫(xiě)
Optional<T> optionalT = orderDetailRepository.findById(id); return optionalT.isPresent() ? optionalT.get(): null;總結(jié)
以上是生活随笔為你收集整理的springboot java.util.NoSuchElementException: No value present 异常处理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Java:自定义异常处理类
- 下一篇: Redis:相关知识点纵观