`
朱秋旭
  • 浏览: 230831 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Lombok 之 SneakyThrows

阅读更多

LomBok 的相关目录已经整理出来,希望大家可以根据需求自助学习,好工具要大家分享:

@Cleanup     

@Getter, @Setter

@ToString

@EqualsAndHashCode

@Constructor

@Data & @Value

@SneakyThrows

@Synchronized

@Getter(lazy=true)

@Log

 

@SneakyThrows的用法比较简单,其实就是对于异常的一个整理,将checked exception 看做unchecked exception, 不处理,直接扔掉。 减少了到处写catch的不便利性。比如在线程中,catch所有异常,再比如在一些不太可能发生异常的地方,但是你又必须cache checked exception的地方使用这个annotation会显得代码比较规整,易读。或许也会显得高大上一点吧




[code="java"]import lombok.SneakyThrows;

public class SneakyThrowsExample implements Runnable {
   @SneakyThrows(UnsupportedEncodingException.class)
   public String utf8ToString(byte[] bytes) {
     return new String(bytes, "UTF-8");
   }
  
   @SneakyThrows
   public void run() {
     throw new Throwable();
   }
}



[code="java"] import lombok.Lombok;

public class SneakyThrowsExample implements Runnable {
   public String utf8ToString(byte[] bytes) {
     try {
       return new String(bytes, "UTF-8");
     } catch (UnsupportedEncodingException e) {
       throw Lombok.sneakyThrow(e);
     }
   }
  
   public void run() {
     try {
       throw new Throwable();
     } catch (Throwable t) {
       throw Lombok.sneakyThrow(t);
     }
   }
}

 

分享到:
评论

相关推荐

    lombok包 lombok.jar

    Lombok 是一种 Java 实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO)。它通过注释实现这一目的。通过在开发环境中实现 Lombok,开发人员可以节省构建诸如 hashCode() 和 equals...

    用Lombok减少重复代码,很美很简单

    Lombok库就是为了消除这种冗余而诞生的,它通过注解处理器在编译时自动为我们生成这些方法,极大地简化了JavaBean的编写工作。 Lombok的基本使用 ------------------ Lombok提供了一系列的注解,如`@Data`、`@...

    eclipse整合lombok文档

    Eclipse 整合 Lombok 文档 Lombok 是一个 Java 库,用于减少 Java 代码中的 boilerplate ...* @SneakyThrows:抛出异常 * @Log4j:log4j 日志声明 通过使用 Lombok,可以大大简化 Java 代码的编写,提高开发效率。

    lombok.rar

    5. **其他注解**:除了上述的基本注解,Lombok还提供了一些高级特性,如`@NonNull`进行非空检查,`@Cleanup`自动关闭资源,`@Builder`用于构建器模式,`@Synchronized`同步方法,以及`@SneakyThrows`悄悄抛出异常等...

    lombok 2017 2018.zip

    此外,Lombok还提供了许多其他有用的注解,如`@NonNull`用于非空检查,`@NoArgsConstructor`和`@AllArgsConstructor`生成构造函数,`@SneakyThrows`用于抛出受检异常等。每个注解都有其特定的作用,可以根据实际需求...

    vscode-lombok:Lombok注释Visual Studio Code的官方扩展

    功能/支持 @EqualsAndHashCode @ AllArgsConstructor,@ RequiredArgsConstructor和@NoArgsConstructor @日志@ slf4j @数据@Builder @单数@代表@价值@Accessors @枯萎@SneakyThrows @val @UtilityClass 我有问题

    Lombok使用讲解及原理1

    `@SneakyThrows` 可以在不声明 throws 关键字的情况下抛出受检异常,`@Synchronized` 则将方法声明为同步,使用私有锁,避免了使用 `synchronized` 关键字可能导致的竞争条件问题。 `@Getter(lazy=true)` 实现了懒...

    通过Lombok来简化你的代码1

    11. @SneakyThrows:自动抛受检异常,而无需显式在方法上使用throws语句。 12. @Synchronized:用在方法上,将方法声明为同步的,并自动加锁,而锁对象是一个私有的属性 $lock或 $LOCK, 而java中的synchronized...

    在底层框架使用 SneakyThrows注解.docx

    @SneakyThrows注解是由lombok为我们封装的,它可以为我们的代码生成一个try...catch块,并把异常向上抛出来,而你之前的ex.getStackTrace()是没有这种能力的,有时,我们从底层抛出的异常需要被上层统一收集,而又不...

    深入了解java Lombok的使用方法

    8. `@SneakyThrows`: 允许在非异常方法中直接抛出受检查异常,通常用在不希望显式处理异常的简单操作中。 通过熟练掌握和使用这些注解,开发者可以显著减少Java代码的体积,提升代码的可读性和维护性。Lombok还提供...

Global site tag (gtag.js) - Google Analytics