It is good coding style - to be able to reuse the same exception in other places i.o. having to redefine them over and over again (possibly with different names).
I’ve generated inline comments for the 541 advice (see below), and this makes it clear why they flag it for all global public variables.
It might be a good idea to make an exception (pun intended) for exceptions, though…
/*ADVICE(3): Global public variables defined in package specification
1  Global public variables defined in package specification
You should always declare package-level data inside the
package body. You can then define "get and set" programs
(function and procedure, respectively) in the package
specification to provide controlled access to that data.
With this approach, you can guarantee data integrity,
change your data structure implementation, and also track
access to those data structures.