La implementación del cliente para este método debe garantizar que todas las excepciones que se produzcan dentro del método se capturen y se gestionen, y que no se propague ninguna excepción fuera del método. La propagación de una excepción fuera del método puede dar lugar a resultados impredecibles (como la finalización del programa).
// Implementación de ejemplo de una fuente de imágenes personalizada que mantiene una cola de archivos de imagenpublic class ImageSourceCallback : FREngine.IImageSource{ public ImageSourceCallback( string imageFilesDirectory ) { imageFiles = ImageSourceHelper.LoadFilesNames( imageFilesDirectory ); nextFileIndex = 0; } public bool IsEmpty() { return nextFileIndex >= imageFiles.Length; } public FREngine.IFileAdapter GetNextImageFile() { if( !IsEmpty() ) { return new FileAdapterCallback( imageFiles[nextFileIndex++] ); } return null; } public FREngine.IImageDocument GetNextImageDocument() { ... } private string[] imageFiles; private int nextFileIndex;}public class FileAdapterCallback : FREngine.IFileAdapter{ ...}public class ImageSourceHelper{ ...}