Help with try/catch block
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-12-2024 11:38 PM
Hi Everyone,
I have to use try/catch block for error handling. How can I apply it for below code.
var propertiesArray = ["propertyName1", "propertyName2", "propertyName3", "propertyName4", "propertyName5", "propertyName6" ]
for (var b = 0; b < propertiesArray.length; b++) {
var sysProp = new GlideRecord("sys_properties");
sysProp.addQuery("name", propertiesArray[b]);
sysProp.query();
if (sysProp.next()) {
gs.info("Property name = " + propertiesArray[b]);
if (propertiesArray[b] == 'propertyName1') {
sysProp.value = "X1";
}
if (propertiesArray[b] == 'propertyName2') {
sysProp.value = "X2";
}
if (propertiesArray[b] == 'propertyName3') {
sysProp.value = "X3";
}
if (propertiesArray[b] == 'propertyName4') {
sysProp.value = "X4";
}
if (propertiesArray[b] == 'propertyName5') {
sysProp.value = "X5";
}
if (propertiesArray[b] == 'propertyName4') {
sysProp.value = "X6";
}
sysProp.update();
}
}
Thanks in advance
1 REPLY 1
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-13-2024 01:22 AM
Hi @Abhijit Das7,
The try catch block should be placed outside of the for loop. The reason being if the try catch block was placed inside the for loop and an error occurs, it will immediately jump to the catch block, skipping any remaining iterations of the propertiesArray.
Using your code below:
var propertiesArray = ["propertyName1", "propertyName2", "propertyName3", "propertyName4", "propertyName5", "propertyName6" ]
try{
for (var b = 0; b < propertiesArray.length; b++) {
var sysProp = new GlideRecord("sys_properties");
sysProp.addQuery("name", propertiesArray[b]);
sysProp.query();
if (sysProp.next()) {
gs.info("Property name = " + propertiesArray[b]);
if (propertiesArray[b] == 'propertyName1') {
sysProp.value = "X1";
}
if (propertiesArray[b] == 'propertyName2') {
sysProp.value = "X2";
}
if (propertiesArray[b] == 'propertyName3') {
sysProp.value = "X3";
}
if (propertiesArray[b] == 'propertyName4') {
sysProp.value = "X4";
}
if (propertiesArray[b] == 'propertyName5') {
sysProp.value = "X5";
}
if (propertiesArray[b] == 'propertyName4') {
sysProp.value = "X6";
}
sysProp.update();
}
}
}
catch(e){
gs.log('Exception thrown in Script: NameGoesHere. Error: ' + e);
}
To help others (or for me to help you more directly), please mark this response correct by clicking on Accept as Solution and/or Kudos.
Thanks, Robbie