When i add a variable to an application, which is part of the download URL (for example https://download-installer.cdn.mozilla.net/pub/firefox/releases/{version}/win32/en-US/Firefox Setup {version}.exe) or the filename (for example d:\Firefox {version}.exe), and the variable is read from a local file, then canceling a file download (update or force download) will result in an unhandled exception error:
I get the same error with Ketarin 1.8.10.15 and 1.8.11 Beta.
These are the steps to recreate this error (using Firefox as an example):
Create a text file (c:\firefoxversion.txt) and write a version number into it (68.0).
Create a new application in Ketarin (Firefox), and add a version variable to it. Change the type to Content from URL (Regular Expression), add the path to the text file into Contents from URL (c:\firefoxversion.txt), and add [\d\.]+ as the regular expression.
Add the download URL: https://download-installer.cdn.mozilla.net/pub/firefox/releases/{version}/win32/en-US/Firefox Setup {version}.exe
Add a path to Save in folder (c:\).
Update (or force download) this application.
Cancel during the download.
I uploaded firefoxversion.txt and firefox.xml. To test this, import firefox.xml into Ketarin and copy firefoxversion.txt to c:\.
firefoxversion.txt
firefox.xml

Here is another Filehippo bug. This time Filehippo combined 32-bit and 64-bit versions of the same program into one page.
Before this 32-bit and 64-bit versions had separate links. For example:
http://filehippo.com/download_itunes_32/
http://filehippo.com/download_itunes_64/
Now it's just http://filehippo.com/download_itunes.
This means, that Ketarin will always default to the 32-bit version. I had some 64-bit programs configured in Ketarin, and all of them were overwritten by 32-bit versions (because of MD5 mismatch, of course).
Also Ketarin can't read the version information from these combined pages.
Here is a sample code from the iTunes download page:
<ul class="dropdown-menu dropdown-menu-right" aria-label="Download Options">
<li>
<a href="/download_itunes/download/60f64c4da702491f72d54a243d94669f/">
Version 12.4.1,
<span>32 bit</span>
(113.54MB)
</a>
</li>
<li>
<a href="/download_itunes/download/42cdce9b0e41c35bb2eb16d211f9ae4e/">
Version 12.4.1,
<span>64 bit</span>
(162.58MB)
</a>
</li>

I'm using Ketarin every day and never had this issue.
If a program has only beta versions listed on Filehippo, then Ketarin simply checks and downloads the latest version available (ignoring the beta flag), so that's not the problem.
If the file keeps downloading repeatedly, then you should first check the log.
Open the log window (View -> Show log, or CTRL+L). Now select a program and update it.
Normally you should see something like this:
If it says "Update required, MD5 does not match" all the time, then your downloaded file never matches with the file on the disk.
This could mean 4 things: Filehippo published a wrong MD5 for the program (very rare), permission problem on the download folder, bad network device (ethernet card, router, switch, etc), bad disk drive.
In case of mismatching MD5 checksums you could try this:
1. Download the program manually from Filehippo and save it in the same folder where Ketarin would.
2. Create the MD5 checksum for the downloaded file (with Total Commander or other program).
3. Compare your MD5 with the published MD5 on Filehippo (it's listed at the bottom of the "Technical" page).

Filehippo changed the beta pages (again) and thus Ketarin can't find the beta versions.
The old identification string was: <span class="beta-text">BETA</span>
The new identification string is: <span class="beta-text hidden-xs">BETA</span>
I made a new exe including this change (searching for >BETA</span> id). You can download it here.

FileHippo changed the site again. This time they changed the MD5 hash formatting, which means that Ketarin must be adjusted again.
In ExternalServices.cs this line must be changed:
Regex validMd5 = new Regex(">([0-9a-f]{32})<", RegexOptions.IgnoreCase);
to
Regex validMd5 = new Regex("(?si)md5.+?([0-9a-f]{32})", RegexOptions.IgnoreCase);
I added this fix to the source of revision 464 and compiled Ketarin. Here is the fixed exe file, until floele posts an official version

http://scm.flyspray.org/repos/ketarin
This is the official SVN.
Also you need http://cdburnerxp.se/downloads/sourcecode/Ketarin.tar.gz to compile Ketarin (link is on the main Ketarin website).
Only the CDBurnerXP folder is needed from this archive, you can delete the rest.

This happens because Filehippo published the wrong MD5 for that file on the Technical page (http://filehippo.com/download_directx/tech).
Their MD5 is 4E41372E8775E8025BE013480B0629B3, but it should be 7C1FC2021CF57FED3C25C9B03CD0C31A.
Ketarin always compares the MD5 of the downloaded file with the MD5 published by Filehippo. And in this case it will always mismatch, until Filehippo fixes it.
As a workaround you can set the version variable as indicator for changes for this file.

Here is the new exe: http://drivehq.com/file/DFPublishFile.aspx/FileID1733632306/Key9qhpprhyrnpe/Ketarin-170b2-u5.zip
And the new source (revision 461): http://drivehq.com/file/DFPublishFile.aspx/FileID1733632305/Keyyw6hasdge4g9/ketarin-rev461-changes2.zip
This is basically the same as u4, just replaced the array with the dictionary.