c = onCleanup(@()fclose(fid));s = fread(fid);
.
.
.
endExample 2 — Maintain the Selected FolderThis example preserves the current folder whether functionThatMayError returns an
error or not:function changeFolderSafely(fileName)
currentFolder = pwd;
c = onCleanup(@()cd(currentFolder));functionThatMayError;
end % c executes cd(currentFolder) here.Example 3 — Close Figure and Restore MATLAB PathThis example extends the MATLAB path to include files in the toolbox\images folders, and
then displays a figure from one of these folders. After the figure displays, the cleanup
routine restore_env closes the figure and restores the path to its original state.function showImageOutsidePath(imageFile)
fig1 = figure;
imgpath = genpath([matlabroot '\toolbox\images']);% Define the cleanup routine.
cleanupObj = onCleanup(@()restore_env(fig1, imgpath));% Modify the path to gain access to the image file,
% and display the image.
addpath(imgpath);
rgb = imread(imageFile);
fprintf('\n Opening the figure %s\n', imageFile);
image(rgb);
pause(2);% This is the cleanup routine.
function restore_env(fighandle, newpath)
disp ' Closing the figure'
close(fighandle);26 Error Handling