| // Copyright (c) 2017, the R8 project authors. Please see the AUTHORS file | 
 | // for details. All rights reserved. Use of this source code is governed by a | 
 | // BSD-style license that can be found in the LICENSE file. | 
 | package com.android.tools.r8; | 
 |  | 
 | import com.android.tools.r8.origin.Origin; | 
 |  | 
 | /** | 
 |  * Checked exception for resource related failures. | 
 |  * | 
 |  * For example, this is the expected exception that must be thrown if a resource fails to produce | 
 |  * its content. See {@link ProgramResource#getByteStream()} and {@link StringResource#getString()}. | 
 |  */ | 
 | public class ResourceException extends Exception { | 
 |  | 
 |   private final Origin origin; | 
 |  | 
 |   public ResourceException(Origin origin, String message) { | 
 |     super(message); | 
 |     this.origin = origin; | 
 |   } | 
 |  | 
 |   public ResourceException(Origin origin, Throwable cause) { | 
 |     super(cause); | 
 |     this.origin = origin; | 
 |   } | 
 |  | 
 |   public ResourceException(Origin origin, String message, Throwable cause) { | 
 |     super(message, cause); | 
 |     this.origin = origin; | 
 |   } | 
 |  | 
 |   public Origin getOrigin() { | 
 |     return origin; | 
 |   } | 
 | } |