1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package io.netty.channel;
17
18 import io.netty.util.internal.PlatformDependent;
19 import io.netty.util.internal.SuppressJava6Requirement;
20 import io.netty.util.internal.ThrowableUtil;
21 import io.netty.util.internal.UnstableApi;
22
23
24
25
26 public class ChannelException extends RuntimeException {
27
28 private static final long serialVersionUID = 2908618315971075004L;
29
30
31
32
33 public ChannelException() {
34 }
35
36
37
38
39 public ChannelException(String message, Throwable cause) {
40 super(message, cause);
41 }
42
43
44
45
46 public ChannelException(String message) {
47 super(message);
48 }
49
50
51
52
53 public ChannelException(Throwable cause) {
54 super(cause);
55 }
56
57 @UnstableApi
58 @SuppressJava6Requirement(reason = "uses Java 7+ RuntimeException.<init>(String, Throwable, boolean, boolean)" +
59 " but is guarded by version checks")
60 protected ChannelException(String message, Throwable cause, boolean shared) {
61 super(message, cause, false, true);
62 assert shared;
63 }
64
65 static ChannelException newStatic(String message, Class<?> clazz, String method) {
66 ChannelException exception;
67 if (PlatformDependent.javaVersion() >= 7) {
68 exception = new StacklessChannelException(message, null, true);
69 } else {
70 exception = new StacklessChannelException(message, null);
71 }
72 return ThrowableUtil.unknownStackTrace(exception, clazz, method);
73 }
74
75 private static final class StacklessChannelException extends ChannelException {
76 private static final long serialVersionUID = -6384642137753538579L;
77
78 StacklessChannelException(String message, Throwable cause) {
79 super(message, cause);
80 }
81
82 StacklessChannelException(String message, Throwable cause, boolean shared) {
83 super(message, cause, shared);
84 }
85
86
87
88
89 @Override
90 public Throwable fillInStackTrace() {
91 return this;
92 }
93 }
94 }