Copy link to clipboard
Copied
I've found a few threads on the 8800 error but nothing explains how to solve. In my case I have a condition checking if the name of a channel matches a string if so it's suppose to just prompt the user the channel is deleted instead I get;
Error 8800: General Photoshop error occurred. This functionality may not be available in this version of Photoshop.
- The command "Get is not currently available
That is a normal error message one get when to try to use some support function that has dependencies. If what the function depend on does not exists the function is not currently available, You see this all the time in Photoshop UI. When menu items are grayed out the feature is currently not available because something the is required for the use of the function does not currently exist. Photoshop can not gray out a script statement. Photoshop put out that error message. Its usually a lo
...Copy link to clipboard
Copied
In my experience, this error message means that there is a syntax error.
As a first step, you might search in your code for "Get" (capitalized), and check whether this is correct.
You may also run the script from the ExtendScript editor, after having selected your Photoshop version as target.
Copy link to clipboard
Copied
That is a normal error message one get when to try to use some support function that has dependencies. If what the function depend on does not exists the function is not currently available, You see this all the time in Photoshop UI. When menu items are grayed out the feature is currently not available because something the is required for the use of the function does not currently exist. Photoshop can not gray out a script statement. Photoshop put out that error message. Its usually a logic error in the script. However if the script usually work it may be it the document you using the script on is missing something. Sometime Adobe Also releases bugs that can cause that error. I could not use CS6 for five months till Adobe fixed the major bug they release in CS6 the first CS6 update fixed 506 bugs. Scripts that switch document would often fail with that message when CS6 was first released.
Copy link to clipboard
Copied
Part of the function works, but when the user chooses a different condition / option, the error surfaces. I'm wondering if global condition is not being understood by the local condition within the function, then again, it is being understood other wise the first part of the condition within the function wouldn't work, arghhh.
Copy link to clipboard
Copied
It is normal that different condtion produce different results. If your code process the result of some process. You code need to be able to procees any result that process can produce.
For example. If you want to remove all black from an image you may program select color range black then clear selection. You would need to enclose that code in a try catch because the select color range may not select any pixels in that case Clear Selection would not be available and through that error. The catch would catch the error. and do nothing about it the script would continue to do what is next to do.
Copy link to clipboard
Copied
I enclosed the try catch except, I'm getting an error that a right parenthesis aka ( is missing.
if (newChnl.name == "alpha") {
nl=0;
while (nl<3) {
nl++;
try {
snddoc[nl]=app.activeDocument.artLayers.add();
}
catch {
alert("problem with adding layer")
}
finally {
alert("Adding Layer has no issues")
}
}
} else {
alert("You deleted the Alpha Channel")
};
};
Copy link to clipboard
Copied
I have never used a finally. I believe you using it wrong and your catch statement syntax look wrong to me what are you catching? it may be you want
catch (e) { alert("problem with adding layer");}
Copy link to clipboard
Copied
I forgot the exception, the code runs but I'm back to the same 8800 error when choosing the other condition / option, arghh.
Copy link to clipboard
Copied
When you ask questions about problems you have with one of you scripts. You would we could help you better if you post the full script rather then a part of the script that has dependencies found in other ares of your script. We have to guess what is wrong because the script is incomplete as such it an invalid script.
If you used the extendscript toolkit you could step through your script to see where things go wrong. I do not use the ExtebdScript because of the way its windows operate drives my eye crazy.
As I wrote the 8800 error is quite normal when thighs do not work the way you expect. The feature is not available because something required for its use does not currently exists.
Copy link to clipboard
Copied
Are you going to post your full script?
Copy link to clipboard
Copied
I won't post the script yet, I'm wondering way I can't trim() the string without an error that the following line is not a function ?
listdoc.name = prompt("Please Give the Layer a Name").trim();
Copy link to clipboard
Copied
str.trim() was introduced in ECMA 5.1. Photoshop uses ECMA 3.0 if Im not mistaken.
So no trim() by default. But you can create a prototype and then it will work
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/gm,'');
};
var myString = " HI THERE ";
alert(myString.trim())
// returns "HI THERE"
Copy link to clipboard
Copied
That explains it ![]()
Copy link to clipboard
Copied
Have it your way. I will not try to help you in the future.
Get ready! An upgraded Adobe Community experience is coming in January.
Learn more