Home | History | Annotate | Download | only in system
      1 // Copyright 2014 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 package org.chromium.mojo.system;
      6 
      7 /**
      8  * Exception for the core mojo API.
      9  */
     10 public class MojoException extends RuntimeException {
     11 
     12     private final int mCode;
     13 
     14     /**
     15      * Constructor.
     16      */
     17     public MojoException(int code) {
     18         mCode = code;
     19     }
     20 
     21     /**
     22      * Constructor.
     23      */
     24     public MojoException(Throwable cause) {
     25         super(cause);
     26         mCode = MojoResult.UNKNOWN;
     27     }
     28 
     29     /**
     30      * The mojo result code associated with this exception. See {@link MojoResult} for possible
     31      * values.
     32      */
     33     public int getMojoResult() {
     34         return mCode;
     35     }
     36 
     37     /**
     38      * @see Object#toString()
     39      */
     40     @Override
     41     public String toString() {
     42         return "MojoResult(" + mCode + "): " + MojoResult.describe(mCode);
     43     }
     44 }
     45