Both functions trigger an error, but require triggers an E_ERROR while include triggers an E_WARNING.
F3
sets error_reporting to
(E_ALL|E_STRICT)&~(E_NOTICE|E_USER_NOTICE), which means that all errors apart from notices are intercepted.
Bcosca made it
clear that this is intentional.
Anyway nothing prevents you from modifying the error_reporting just after calling base.php:
$f3 = require('lib/base.php');
error_reporting((E_ALL|E_STRICT)&~(E_WARNING|E_NOTICE|E_USER_NOTICE));