View Javadoc

1   package org.apache.maven.surefire.report;
2   /*
3    * Licensed to the Apache Software Foundation (ASF) under one
4    * or more contributor license agreements.  See the NOTICE file
5    * distributed with this work for additional information
6    * regarding copyright ownership.  The ASF licenses this file
7    * to you under the Apache License, Version 2.0 (the
8    * "License"); you may not use this file except in compliance
9    * with the License.  You may obtain a copy of the License at
10   *
11   *     http://www.apache.org/licenses/LICENSE-2.0
12   *
13   * Unless required by applicable law or agreed to in writing,
14   * software distributed under the License is distributed on an
15   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16   * KIND, either express or implied.  See the License for the
17   * specific language governing permissions and limitations
18   * under the License.
19   */
20  
21  /**
22   * Guards against misbehaving throwables
23   */
24  public class SafeThrowable
25  {
26      private final Throwable target;
27  
28      public SafeThrowable( Throwable target )
29      {
30          this.target = target;
31      }
32  
33      public String getLocalizedMessage()
34      {
35          try
36          {
37              return target.getLocalizedMessage();
38          }
39          catch ( Throwable t )
40          {
41              return t.getLocalizedMessage();
42          }
43      }
44  
45      public String getMessage()
46      {
47          try
48          {
49              return target.getMessage();
50          }
51          catch ( Throwable t )
52          {
53              return t.getMessage();
54          }
55      }
56  
57      public Throwable getTarget()
58      {
59          return target;
60      }
61  }