Bug #72064 since 5.7 error 1416 is considered fatal, but it shouldn't be.
Submitted: 17 Mar 2014 18:57 Modified: 28 Mar 2014 20:27
Reporter: Shane Bester (Platinum Quality Contributor) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Stored Routines Severity:S3 (Non-critical)
Version:5.7.3 OS:Any
Assigned to: CPU Architecture:Any

[17 Mar 2014 18:57] Shane Bester
Description:
mysql> call `p1`();
ERROR 1416 (22003): Cannot get geometry object from data you send to the GEOMETRY field
mysql> select version();
+-----------------+
| version()       |
+-----------------+
| 5.7.5-m15-debug |
+-----------------+
1 row in set (0.00 sec)

...vs...

mysql> call `p1`();
+----+
| hi |
+----+
| hi |
+----+
1 row in set (0.02 sec)

Query OK, 0 rows affected (0.02 sec)

mysql> select version();
+--------------+
| version()    |
+--------------+
| 5.6.16-debug |
+--------------+
1 row in set (0.00 sec)

How to repeat:
drop procedure if exists `p1`;
drop table if exists `t1`;
create table `t1`(`a` point not null,spatial key(`a`))engine=myisam;
delimiter $
create procedure `p1`()
begin
 declare continue handler for sqlexception begin select 'hi'; end;
 insert into `t1` values("");
end $
delimiter ;

call `p1`();
select version();

Suggested fix:
I would like the handler to catch this so that random testcases can be written in stored procedure instead of some script.
[28 Mar 2014 20:27] Paul DuBois
Noted in 5.7.5 changelog.

ER_CANT_CREATE_GEOMETRY_OBJECT was treated as a fatal error, thus not
catchable with condition handlers.