You'll get an exception if the value doesn't fit, e.g.:
create table t ( c1 varchar2 (1 byte ) );
insert into t values ( 'a' );
--1 row inserted.
insert into t values ( 'â' );
--ORA-12899: value too large for column "CHRIS"."T"."C1" (actual: 2, maximum: 1)
insert into t values ( 'aa' );
--ORA-12899: value too large for column "CHRIS"."T"."C1" (actual: 2, maximum: 1)
If you want to precheck the data you could use a condition like you propose; there's no need to though.