001 package org.junit.runners.model; 002 003 import java.util.Arrays; 004 import java.util.List; 005 006 /** 007 * Represents one or more problems encountered while initializing a Runner 008 * 009 * @since 4.5 010 */ 011 public class InitializationError extends Exception { 012 private static final long serialVersionUID = 1L; 013 014 /* 015 * We have to use the f prefix until the next major release to ensure 016 * serialization compatibility. 017 * See https://github.com/junit-team/junit/issues/976 018 */ 019 private final List<Throwable> fErrors; 020 021 /** 022 * Construct a new {@code InitializationError} with one or more 023 * errors {@code errors} as causes 024 */ 025 public InitializationError(List<Throwable> errors) { 026 this.fErrors = errors; 027 } 028 029 public InitializationError(Throwable error) { 030 this(Arrays.asList(error)); 031 } 032 033 /** 034 * Construct a new {@code InitializationError} with one cause 035 * with message {@code string} 036 */ 037 public InitializationError(String string) { 038 this(new Exception(string)); 039 } 040 041 /** 042 * Returns one or more Throwables that led to this initialization error. 043 */ 044 public List<Throwable> getCauses() { 045 return fErrors; 046 } 047 }