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