사용자 도구

사이트 도구


java:exception

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판 양쪽 다음 판
java:exception [2014/01/22 13:06]
kwon37xi [Checked Exception]
java:exception [2014/01/22 13:20]
kwon37xi [Checked Exception]
줄 3: 줄 3:
 ===== Checked Exception ===== ===== Checked Exception =====
 가능하면 사용하지 말 것. 가능하면 사용하지 말 것.
-  * [[http://java.dzone.com/articles/throwing-undeclared-checked|Throwing Undeclared Checked Exceptions | Javalobby]]<code java> +  * [[http://java.dzone.com/articles/throwing-undeclared-checked|Throwing Undeclared Checked Exceptions | Javalobby]] 
-class Thrower +  * [[http://www.gamlor.info/wordpress/?p=1020|Throwing Checked Exceptions Like Unchecked Exceptions in Java | Gamlor]]<code java> 
-    public static void spit(final Throwable exception) { +public class ExceptionThrower { 
-        class EvilThrower<T extends Throwable+    private ExceptionThrower() {} 
-            @SuppressWarnings("unchecked"+ 
-            private void sneakyThrow(Throwable exception) throws T { +    public static void spit(final Throwable throwable) { 
-                throw (T) exception; +        // 아래 <RuntimeException타입 정보는 컴파일 상태에서는 지워진다. 
-            } +        ExceptionThrower.<RuntimeException>throwWithoutCheck(throwable);
-        +
-        new EvilThrower<RuntimeException>().sneakyThrow(exception);+
     }     }
-} 
  
-public class ThrowerSample { +    @SuppressWarnings("unchecked") 
-    public static void mainString[] args ) { +    private static <T extends Throwable> void throwWithoutCheck(Throwable throwablethrows T 
-        Thrower.spit(new RemoteException("go unchecked!"));+        // 아래 Type Casting 정보는 Java Generic의 특성상 컴파일시 정보가 사라지므로 
 +        // 실제 캐스팅은 발생하지 않는다. 
 +        throw (Tthrowable;
     }     }
 } }
-</code> +
-  * [[http://www.gamlor.info/wordpress/?p=1020|Throwing Checked Exceptions Like Unchecked Exceptions in Java | Gamlor]]<code java>+
 public final class UncheckedThrow { public final class UncheckedThrow {
     private UncheckedThrow(){}     private UncheckedThrow(){}
java/exception.txt · 마지막으로 수정됨: 2021/07/14 12:49 저자 kwon37xi