proc main()
{
    var badUtf = new PackUbyte(6);
    badUtf[0] = '1';
    badUtf[1] = ' ';
    badUtf[2] = 0x92; // Illegal UTF-8 char
    badUtf[3] = ' ';
    badUtf[4] = '2';
    badUtf[5] = '\n';

    var f = new File("badutf8d.txt", "wb");
    f.write(badUtf);
    f.close();

    // "r+" so we can delete it when we are don
    f = new File("badutf8d.txt", "r+");
    try {
        var a = f.read("2I");
        "", a, '\n';
    }
    catch (e) {
        if (e == oadl::UTF8Check) {
            "Caught UTF8Check as expected\n";
            f.close("delete");
            oadl::halt();
        }
    }
    "Failed to catch UTF8check\n";
}