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"; }