### ImageMagick version

7.1.1-26

### Operating system

Linux

### Operating system, version and so on

Ubuntu 22.04

### Description

The following code leaks memory while leaving `c` equal to `nullptr`

```cpp
#include <Magick++.h>

int main() {
	Magick::Color *c = nullptr;
	try {
		c = new Magick::Color{"invalid"};
	} catch (...) {}
	printf("c = %p\n", c);
}
```

### Steps to Reproduce

Build the above program with a leak detector

### Images

_No response_
leaking memory when `Magick::Color` throws
This is a GitHub Issue
repo:ImageMagick
owner:ImageMagick
Title : leaking memory when `Magick::Color` throws
Issue date:

--- start body ---
### ImageMagick version

7.1.1-26

### Operating system

Linux

### Operating system, version and so on

Ubuntu 22.04

### Description

The following code leaks memory while leaving `c` equal to `nullptr`

```cpp
#include <Magick++.h>

int main() {
	Magick::Color *c = nullptr;
	try {
		c = new Magick::Color{"invalid"};
	} catch (...) {}
	printf("c = %p\n", c);
}
```

### Steps to Reproduce

Build the above program with a leak detector

### Images

_No response_
--- end body ---

Memory leak occurs when an exception is thrown while creating a new instance of `Magick::Color`. The allocated memory for `Magick::Color` is not freed, leading to a potential memory exhaustion issue if this pattern is repeated frequently.