Errors that occur at a layer below where your component sits should be wrapped in a meaningful exception to your target users and thrown.
public class TextReader { public String ReadLine () { try { //read a line from the stream } catch (Exception e) { throw new IOException (“Could not read from stream”, e); } } }