This is an automated email from the ASF dual-hosted git repository. jamesfredley pushed a commit to branch build/empty-catch-codenarc in repository https://gitbox.apache.org/repos/asf/grails-core.git
commit 75f02aaff8f018ffe3dc060ee81ed230e818d0c6 Author: James Fredley <[email protected]> AuthorDate: Fri Jul 17 04:46:09 2026 -0400 Enable CodeNarc empty catch checks Assisted-by: opencode:gpt-5.6-sol --- .../codenarc/codenarc.groovy | 4 ++++ .../ui/command/GrailsApplicationContextCommandRunner.groovy | 2 +- .../groovy/grails/ui/script/GrailsApplicationScriptRunner.groovy | 2 +- .../grails/artefact/controller/support/ResponseRenderer.groovy | 2 +- .../main/groovy/grails/boot/config/GrailsAutoConfiguration.groovy | 3 +-- .../main/groovy/grails/boot/config/tools/ClassPathScanner.groovy | 2 +- .../grails/dev/commands/template/TemplateRendererImpl.groovy | 2 +- .../support/PersistenceContextInterceptorExecutor.groovy | 2 +- .../groovy/org/grails/core/exceptions/DefaultErrorsPrinter.groovy | 6 +++--- .../main/groovy/org/grails/plugins/support/WatchPattern.groovy | 2 +- .../groovy/org/grails/gorm/graphql/GraphQLEntityHelper.groovy | 4 +++- .../graphql/entity/property/impl/PersistentGraphQLProperty.groovy | 2 +- .../property/manager/DefaultGraphQLDomainPropertyManager.groovy | 2 +- .../grails/orm/hibernate/AbstractHibernateGormInstanceApi.groovy | 2 +- .../connections/HibernateConnectionSourceSettings.groovy | 2 +- .../org/grails/orm/hibernate/support/HibernateRuntimeUtils.groovy | 2 +- .../groovy/org/grails/datastore/gorm/mongo/simple/EnumType.groovy | 2 +- .../src/main/groovy/grails/databinding/SimpleDataBinder.groovy | 6 ++++-- .../org/grails/compiler/gorm/GormEntityTransformation.groovy | 2 +- .../datastore/gorm/bootstrap/AbstractDatastoreInitializer.groovy | 2 +- .../apache/grails/data/testing/tck/tests/DomainEventsSpec.groovy | 2 +- .../grails/plugins/datasource/EmbeddedDatabaseShutdownHook.groovy | 2 +- .../groovy/org/grails/datastore/mapping/reflect/AstUtils.groovy | 2 +- .../org/grails/scaffolding/model/DomainModelServiceImpl.groovy | 2 +- .../main/groovy/org/grails/gsp/ModelRecordingGroovyPage.groovy | 2 +- .../main/groovy/org/grails/plugins/web/taglib/FormTagLib.groovy | 2 +- .../plugins/web/rest/plugin/RestResponderGrailsPlugin.groovy | 2 +- grails-shell-cli/src/main/groovy/org/grails/cli/GrailsCli.groovy | 8 ++++---- .../main/groovy/org/grails/cli/gradle/GradleAsyncInvoker.groovy | 2 +- .../org/grails/cli/gradle/cache/CachedGradleOperation.groovy | 2 +- .../grails/cli/interactive/completers/ClassNameCompleter.groovy | 2 +- .../main/groovy/org/grails/cli/profile/ProfileRepoConfig.groovy | 2 +- .../org/grails/cli/profile/commands/CreateAppCommand.groovy | 2 +- .../grails/cli/profile/commands/DefaultMultiStepCommand.groovy | 2 +- .../cli/profile/commands/templates/TemplateRendererImpl.groovy | 2 +- .../main/groovy/grails/testing/services/ServiceUnitTest.groovy | 2 +- .../injection/testing/IntegrationTestAstTransformation.groovy | 2 +- .../src/main/groovy/org/grails/testing/GrailsUnitTest.groovy | 4 ++-- .../org/grails/testing/spock/WebSetupSpecInterceptor.groovy | 2 +- .../grails/views/resolve/GenericGroovyTemplateResolver.groovy | 2 +- .../main/groovy/grails/web/databinding/GrailsWebDataBinder.groovy | 4 ++-- .../groovy/org/grails/web/mapping/DefaultLinkGenerator.groovy | 4 +++- 42 files changed, 59 insertions(+), 50 deletions(-) diff --git a/build-logic/plugins/src/main/resources/META-INF/org.apache.grails.buildsrc.grails-code-style/codenarc/codenarc.groovy b/build-logic/plugins/src/main/resources/META-INF/org.apache.grails.buildsrc.grails-code-style/codenarc/codenarc.groovy index 80880ac32d..42075d180d 100644 --- a/build-logic/plugins/src/main/resources/META-INF/org.apache.grails.buildsrc.grails-code-style/codenarc/codenarc.groovy +++ b/build-logic/plugins/src/main/resources/META-INF/org.apache.grails.buildsrc.grails-code-style/codenarc/codenarc.groovy @@ -26,6 +26,10 @@ ruleset { } ClosureStatementOnOpeningLineOfMultipleLineClosure ConsecutiveBlankLines + EmptyCatchBlock { + ignoreRegex = 'ignore|ignored' + priority = 3 + } FileEndsWithoutNewline NoTabCharacter DuplicateImport diff --git a/grails-console/src/main/groovy/grails/ui/command/GrailsApplicationContextCommandRunner.groovy b/grails-console/src/main/groovy/grails/ui/command/GrailsApplicationContextCommandRunner.groovy index bc292a074d..30b9f69e6b 100644 --- a/grails-console/src/main/groovy/grails/ui/command/GrailsApplicationContextCommandRunner.groovy +++ b/grails-console/src/main/groovy/grails/ui/command/GrailsApplicationContextCommandRunner.groovy @@ -85,7 +85,7 @@ class GrailsApplicationContextCommandRunner extends DevelopmentGrailsApplication finally { try { ctx?.close() - } catch (Throwable e) { + } catch (Throwable ignored) { // ignore } } diff --git a/grails-console/src/main/groovy/grails/ui/script/GrailsApplicationScriptRunner.groovy b/grails-console/src/main/groovy/grails/ui/script/GrailsApplicationScriptRunner.groovy index 8363d37589..3cf734b455 100644 --- a/grails-console/src/main/groovy/grails/ui/script/GrailsApplicationScriptRunner.groovy +++ b/grails-console/src/main/groovy/grails/ui/script/GrailsApplicationScriptRunner.groovy @@ -99,7 +99,7 @@ class GrailsApplicationScriptRunner extends DevelopmentGrailsApplication { i.destroy() } ctx?.close() - } catch (Throwable e) { + } catch (Throwable ignored) { // ignore } } diff --git a/grails-controllers/src/main/groovy/grails/artefact/controller/support/ResponseRenderer.groovy b/grails-controllers/src/main/groovy/grails/artefact/controller/support/ResponseRenderer.groovy index 8ef0a3576e..e014c75997 100644 --- a/grails-controllers/src/main/groovy/grails/artefact/controller/support/ResponseRenderer.groovy +++ b/grails-controllers/src/main/groovy/grails/artefact/controller/support/ResponseRenderer.groovy @@ -420,7 +420,7 @@ trait ResponseRenderer extends WebAttributes { if (input) { try { ((InputStream) input).close() - } catch (IOException e) { + } catch (IOException ignored) { // ignore } } diff --git a/grails-core/src/main/groovy/grails/boot/config/GrailsAutoConfiguration.groovy b/grails-core/src/main/groovy/grails/boot/config/GrailsAutoConfiguration.groovy index 91190446d3..1264706254 100644 --- a/grails-core/src/main/groovy/grails/boot/config/GrailsAutoConfiguration.groovy +++ b/grails-core/src/main/groovy/grails/boot/config/GrailsAutoConfiguration.groovy @@ -60,7 +60,7 @@ class GrailsAutoConfiguration implements GrailsApplicationClass, ApplicationCont list.add(GroovyAwareInfrastructureAdvisorAutoProxyCreator) list.add(GroovyAwareAspectJAwareAdvisorAutoProxyCreator) } - } catch (Throwable e) { + } catch (Throwable ignored) { // ignore } } @@ -151,4 +151,3 @@ class GrailsAutoConfiguration implements GrailsApplicationClass, ApplicationCont } } - diff --git a/grails-core/src/main/groovy/grails/boot/config/tools/ClassPathScanner.groovy b/grails-core/src/main/groovy/grails/boot/config/tools/ClassPathScanner.groovy index c04af0f3e0..1d4dff31ac 100644 --- a/grails-core/src/main/groovy/grails/boot/config/tools/ClassPathScanner.groovy +++ b/grails-core/src/main/groovy/grails/boot/config/tools/ClassPathScanner.groovy @@ -244,7 +244,7 @@ class ClassPathScanner { URL withoutBang = new URL("${urlStr.substring(0, urlStr.length() - 2)}/") addURL(withoutBang) - } catch (MalformedURLException e) { + } catch (MalformedURLException ignored) { // ignore, running as a WAR } } diff --git a/grails-core/src/main/groovy/grails/dev/commands/template/TemplateRendererImpl.groovy b/grails-core/src/main/groovy/grails/dev/commands/template/TemplateRendererImpl.groovy index c3b3f1a0a8..47c8f4dc3b 100644 --- a/grails-core/src/main/groovy/grails/dev/commands/template/TemplateRendererImpl.groovy +++ b/grails-core/src/main/groovy/grails/dev/commands/template/TemplateRendererImpl.groovy @@ -176,7 +176,7 @@ class TemplateRendererImpl implements TemplateRenderer { } finally { try { reader.close() - } catch (e) { + } catch (ignored) { // ignore } } diff --git a/grails-core/src/main/groovy/grails/persistence/support/PersistenceContextInterceptorExecutor.groovy b/grails-core/src/main/groovy/grails/persistence/support/PersistenceContextInterceptorExecutor.groovy index 9a0421eae6..3257e6aede 100644 --- a/grails-core/src/main/groovy/grails/persistence/support/PersistenceContextInterceptorExecutor.groovy +++ b/grails-core/src/main/groovy/grails/persistence/support/PersistenceContextInterceptorExecutor.groovy @@ -70,7 +70,7 @@ class PersistenceContextInterceptorExecutor { for (PersistenceContextInterceptor i in interceptors) { try { i.destroy() - } catch (e) { + } catch (ignored) { // ignore exception } } diff --git a/grails-core/src/main/groovy/org/grails/core/exceptions/DefaultErrorsPrinter.groovy b/grails-core/src/main/groovy/org/grails/core/exceptions/DefaultErrorsPrinter.groovy index ccbae3399e..cb4ed27694 100644 --- a/grails-core/src/main/groovy/org/grails/core/exceptions/DefaultErrorsPrinter.groovy +++ b/grails-core/src/main/groovy/org/grails/core/exceptions/DefaultErrorsPrinter.groovy @@ -125,13 +125,13 @@ class DefaultErrorsPrinter extends DefaultStackTracePrinter implements CodeSnipp } } } - catch (e) { + catch (ignored) { // ignore } finally { try { input?.close() - } catch (e) { + } catch (ignored) { // ignore } pw.print(formatCodeSnippetEnd(res, lineNumber)) @@ -164,7 +164,7 @@ class DefaultErrorsPrinter extends DefaultStackTracePrinter implements CodeSnipp break } } - } catch (e) { + } catch (ignored) { // ignore } } diff --git a/grails-core/src/main/groovy/org/grails/plugins/support/WatchPattern.groovy b/grails-core/src/main/groovy/org/grails/plugins/support/WatchPattern.groovy index 1673bed636..315092aecc 100644 --- a/grails-core/src/main/groovy/org/grails/plugins/support/WatchPattern.groovy +++ b/grails-core/src/main/groovy/org/grails/plugins/support/WatchPattern.groovy @@ -64,7 +64,7 @@ class WatchPattern { def matchPath = /${directory.canonicalPath.replaceAll('\\\\', '/')}.+?$ext/ def absolutePath = new File(path).canonicalPath.replaceAll('\\\\', '/') return absolutePath ==~ matchPath - } catch (e) { + } catch (ignored) { // ignore } } diff --git a/grails-data-graphql/core/src/main/groovy/org/grails/gorm/graphql/GraphQLEntityHelper.groovy b/grails-data-graphql/core/src/main/groovy/org/grails/gorm/graphql/GraphQLEntityHelper.groovy index 3db86a1703..a2a2cce9ac 100644 --- a/grails-data-graphql/core/src/main/groovy/org/grails/gorm/graphql/GraphQLEntityHelper.groovy +++ b/grails-data-graphql/core/src/main/groovy/org/grails/gorm/graphql/GraphQLEntityHelper.groovy @@ -60,7 +60,9 @@ class GraphQLEntityHelper { if (hibernateMapping.isAssignableFrom(mapping.class)) { description = hibernateMapping.getMethod('getComment').invoke(mapping) } - } catch (ClassNotFoundException e) { } + } catch (ClassNotFoundException ignored) { + // intentional: Hibernate support is optional + } } } descriptions.put(entity, description) diff --git a/grails-data-graphql/core/src/main/groovy/org/grails/gorm/graphql/entity/property/impl/PersistentGraphQLProperty.groovy b/grails-data-graphql/core/src/main/groovy/org/grails/gorm/graphql/entity/property/impl/PersistentGraphQLProperty.groovy index db60118ba1..6adfc3a5ae 100644 --- a/grails-data-graphql/core/src/main/groovy/org/grails/gorm/graphql/entity/property/impl/PersistentGraphQLProperty.groovy +++ b/grails-data-graphql/core/src/main/groovy/org/grails/gorm/graphql/entity/property/impl/PersistentGraphQLProperty.groovy @@ -134,7 +134,7 @@ class PersistentGraphQLProperty extends OrderedGraphQLProperty { deprecationReason = Schema.DEFAULT_DEPRECATION_REASON } } - } catch (NoSuchFieldException e) { } + } catch (NoSuchFieldException ignored) { } if (mapping.deprecated && deprecationReason == null) { deprecationReason = Schema.DEFAULT_DEPRECATION_REASON diff --git a/grails-data-graphql/core/src/main/groovy/org/grails/gorm/graphql/entity/property/manager/DefaultGraphQLDomainPropertyManager.groovy b/grails-data-graphql/core/src/main/groovy/org/grails/gorm/graphql/entity/property/manager/DefaultGraphQLDomainPropertyManager.groovy index 3e1dcd6d0d..f95ba39b3f 100644 --- a/grails-data-graphql/core/src/main/groovy/org/grails/gorm/graphql/entity/property/manager/DefaultGraphQLDomainPropertyManager.groovy +++ b/grails-data-graphql/core/src/main/groovy/org/grails/gorm/graphql/entity/property/manager/DefaultGraphQLDomainPropertyManager.groovy @@ -49,7 +49,7 @@ class DefaultGraphQLDomainPropertyManager implements GraphQLDomainPropertyManage static { try { derivedMethod = Property.getMethod('isDerived', (Class<?>[]) null) - } catch (NoSuchMethodException | SecurityException e) { } + } catch (NoSuchMethodException | SecurityException ignored) { } } @Override diff --git a/grails-data-hibernate5/core/src/main/groovy/org/grails/orm/hibernate/AbstractHibernateGormInstanceApi.groovy b/grails-data-hibernate5/core/src/main/groovy/org/grails/orm/hibernate/AbstractHibernateGormInstanceApi.groovy index 3f3abea76b..745de02e70 100644 --- a/grails-data-hibernate5/core/src/main/groovy/org/grails/orm/hibernate/AbstractHibernateGormInstanceApi.groovy +++ b/grails-data-hibernate5/core/src/main/groovy/org/grails/orm/hibernate/AbstractHibernateGormInstanceApi.groovy @@ -337,7 +337,7 @@ abstract class AbstractHibernateGormInstanceApi<D> extends GormInstanceApi<D> { } } } - catch (InvalidPropertyException ipe) { + catch (InvalidPropertyException ignored) { // property is not accessable } } diff --git a/grails-data-hibernate5/core/src/main/groovy/org/grails/orm/hibernate/connections/HibernateConnectionSourceSettings.groovy b/grails-data-hibernate5/core/src/main/groovy/org/grails/orm/hibernate/connections/HibernateConnectionSourceSettings.groovy index 0c9aab26a2..c73119fe77 100644 --- a/grails-data-hibernate5/core/src/main/groovy/org/grails/orm/hibernate/connections/HibernateConnectionSourceSettings.groovy +++ b/grails-data-hibernate5/core/src/main/groovy/org/grails/orm/hibernate/connections/HibernateConnectionSourceSettings.groovy @@ -256,7 +256,7 @@ class HibernateConnectionSourceSettings extends ConnectionSourceSettings { AvailableSettings.getField('ACQUIRE_CONNECTIONS') props.put('hibernate.connection.release_mode', 'ON_CLOSE') } - catch (NoSuchFieldException ex2) { + catch (NoSuchFieldException ignored) { // on Hibernate 5.0.x or lower - no need to change the default there } } diff --git a/grails-data-hibernate5/core/src/main/groovy/org/grails/orm/hibernate/support/HibernateRuntimeUtils.groovy b/grails-data-hibernate5/core/src/main/groovy/org/grails/orm/hibernate/support/HibernateRuntimeUtils.groovy index 43cd4a5add..9459874c5c 100644 --- a/grails-data-hibernate5/core/src/main/groovy/org/grails/orm/hibernate/support/HibernateRuntimeUtils.groovy +++ b/grails-data-hibernate5/core/src/main/groovy/org/grails/orm/hibernate/support/HibernateRuntimeUtils.groovy @@ -170,7 +170,7 @@ class HibernateRuntimeUtils { } else { value = conversionService.convert(value, targetType) } - } catch (e) { + } catch (ignored) { // ignore } } diff --git a/grails-data-mongodb/core/src/main/groovy/org/grails/datastore/gorm/mongo/simple/EnumType.groovy b/grails-data-mongodb/core/src/main/groovy/org/grails/datastore/gorm/mongo/simple/EnumType.groovy index af13893bed..51944cba72 100644 --- a/grails-data-mongodb/core/src/main/groovy/org/grails/datastore/gorm/mongo/simple/EnumType.groovy +++ b/grails-data-mongodb/core/src/main/groovy/org/grails/datastore/gorm/mongo/simple/EnumType.groovy @@ -98,7 +98,7 @@ class EnumType extends AbstractMappingAwareCustomTypeMarshaller<Object, Document try { Object values = type.getMethod('values').invoke(type) return Array.get(values, value.intValue()) - } catch (Exception e) { + } catch (Exception ignored) { // ignore } return value diff --git a/grails-databinding-core/src/main/groovy/grails/databinding/SimpleDataBinder.groovy b/grails-databinding-core/src/main/groovy/grails/databinding/SimpleDataBinder.groovy index 3f3ed13bae..e0049ed6be 100755 --- a/grails-databinding-core/src/main/groovy/grails/databinding/SimpleDataBinder.groovy +++ b/grails-databinding-core/src/main/groovy/grails/databinding/SimpleDataBinder.groovy @@ -605,7 +605,9 @@ class SimpleDataBinder implements DataBinder { protected convertStringToEnum(Class<? extends Enum> enumClass, String value) { try { enumClass.valueOf(value) - } catch (IllegalArgumentException iae) {} + } catch (IllegalArgumentException ignored) { + // intentional: an unmatched value cannot be converted to the enum + } } protected preprocessValue(propertyValue) { @@ -781,7 +783,7 @@ class SimpleDataBinder implements DataBinder { } } } - } catch (Exception e) { + } catch (Exception ignored) { } initializer } diff --git a/grails-datamapping-core/src/main/groovy/org/grails/compiler/gorm/GormEntityTransformation.groovy b/grails-datamapping-core/src/main/groovy/org/grails/compiler/gorm/GormEntityTransformation.groovy index 6a38b25322..a4b617aaea 100644 --- a/grails-datamapping-core/src/main/groovy/org/grails/compiler/gorm/GormEntityTransformation.groovy +++ b/grails-datamapping-core/src/main/groovy/org/grails/compiler/gorm/GormEntityTransformation.groovy @@ -184,7 +184,7 @@ class GormEntityTransformation extends AbstractASTTransformation implements Comp try { def cl = Thread.currentThread().contextClassLoader AstUtils.addAnnotationIfNecessary(classNode, (Class<? extends Annotation>) Class.forName('grails.persistence.Entity', true, cl)) - } catch (Throwable e2) { + } catch (Throwable ignored) { // Only GORM classes on the classpath continue } } diff --git a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/bootstrap/AbstractDatastoreInitializer.groovy b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/bootstrap/AbstractDatastoreInitializer.groovy index 5655eebb7e..6c023cd26e 100644 --- a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/bootstrap/AbstractDatastoreInitializer.groovy +++ b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/bootstrap/AbstractDatastoreInitializer.groovy @@ -207,7 +207,7 @@ abstract class AbstractDatastoreInitializer implements ResourceLoaderAware { for (entityName in entityNames) { try { persistentClasses << classLoader.loadClass(entityName) - } catch (ClassNotFoundException e) { + } catch (ClassNotFoundException ignored) { // ignore } } diff --git a/grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/tests/DomainEventsSpec.groovy b/grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/tests/DomainEventsSpec.groovy index 171031b57b..1da4710e8c 100644 --- a/grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/tests/DomainEventsSpec.groovy +++ b/grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/tests/DomainEventsSpec.groovy @@ -66,7 +66,7 @@ class DomainEventsSpec extends GrailsDataTckSpec { try { p.save() manager.session.flush() - } catch (e) { + } catch (ignored) { // ignore hibernate related flush errors } manager.session.clear() diff --git a/grails-datasource/src/main/groovy/org/grails/plugins/datasource/EmbeddedDatabaseShutdownHook.groovy b/grails-datasource/src/main/groovy/org/grails/plugins/datasource/EmbeddedDatabaseShutdownHook.groovy index 9ef179427a..7184511cba 100644 --- a/grails-datasource/src/main/groovy/org/grails/plugins/datasource/EmbeddedDatabaseShutdownHook.groovy +++ b/grails-datasource/src/main/groovy/org/grails/plugins/datasource/EmbeddedDatabaseShutdownHook.groovy @@ -118,7 +118,7 @@ class EmbeddedDatabaseShutdownHook implements SmartLifecycle, ApplicationContext try { Sql sql = new Sql(connection) sql.executeUpdate('SHUTDOWN') - } catch (e) { + } catch (ignored) { // already closed, ignore } finally { try { connection?.close() } catch (ignored) {} diff --git a/grails-datastore-core/src/main/groovy/org/grails/datastore/mapping/reflect/AstUtils.groovy b/grails-datastore-core/src/main/groovy/org/grails/datastore/mapping/reflect/AstUtils.groovy index 1de1e7eb2e..dcfcf6ead2 100644 --- a/grails-datastore-core/src/main/groovy/org/grails/datastore/mapping/reflect/AstUtils.groovy +++ b/grails-datastore-core/src/main/groovy/org/grails/datastore/mapping/reflect/AstUtils.groovy @@ -438,7 +438,7 @@ class AstUtils { if (isDomainClass(new File(filePath).toURI().toURL())) { return true } - } catch (MalformedURLException e) { + } catch (MalformedURLException ignored) { // ignore } } diff --git a/grails-fields/src/main/groovy/org/grails/scaffolding/model/DomainModelServiceImpl.groovy b/grails-fields/src/main/groovy/org/grails/scaffolding/model/DomainModelServiceImpl.groovy index bfe8173d4d..070c7e9b9a 100644 --- a/grails-fields/src/main/groovy/org/grails/scaffolding/model/DomainModelServiceImpl.groovy +++ b/grails-fields/src/main/groovy/org/grails/scaffolding/model/DomainModelServiceImpl.groovy @@ -56,7 +56,7 @@ class DomainModelServiceImpl implements DomainModelService { static { try { derivedMethod = Property.getMethod('isDerived', (Class<?>[]) null) - } catch (NoSuchMethodException | SecurityException e) { + } catch (NoSuchMethodException | SecurityException ignored) { // no-op } } diff --git a/grails-gsp/core/src/main/groovy/org/grails/gsp/ModelRecordingGroovyPage.groovy b/grails-gsp/core/src/main/groovy/org/grails/gsp/ModelRecordingGroovyPage.groovy index e490e7d59e..908eec63a3 100644 --- a/grails-gsp/core/src/main/groovy/org/grails/gsp/ModelRecordingGroovyPage.groovy +++ b/grails-gsp/core/src/main/groovy/org/grails/gsp/ModelRecordingGroovyPage.groovy @@ -195,7 +195,7 @@ class ModelEntry { if (defaultTypeClass.isAssignableFrom(fieldTypeClass)) { cleanedFieldType = defaultType } - } catch (e) { + } catch (ignored) { // ignore } } diff --git a/grails-gsp/plugin/src/main/groovy/org/grails/plugins/web/taglib/FormTagLib.groovy b/grails-gsp/plugin/src/main/groovy/org/grails/plugins/web/taglib/FormTagLib.groovy index 34638b261f..149792c099 100644 --- a/grails-gsp/plugin/src/main/groovy/org/grails/plugins/web/taglib/FormTagLib.groovy +++ b/grails-gsp/plugin/src/main/groovy/org/grails/plugins/web/taglib/FormTagLib.groovy @@ -1199,7 +1199,7 @@ class FormTagLib implements ApplicationContextAware, InitializingBean, TagLibrar value = conversionService.convert(value, keyClass) selected = keyValue == value } - catch (e) { + catch (ignored) { // ignore } } diff --git a/grails-rest-transforms/src/main/groovy/org/grails/plugins/web/rest/plugin/RestResponderGrailsPlugin.groovy b/grails-rest-transforms/src/main/groovy/org/grails/plugins/web/rest/plugin/RestResponderGrailsPlugin.groovy index 7cb2e665f3..c0ffd5efad 100644 --- a/grails-rest-transforms/src/main/groovy/org/grails/plugins/web/rest/plugin/RestResponderGrailsPlugin.groovy +++ b/grails-rest-transforms/src/main/groovy/org/grails/plugins/web/rest/plugin/RestResponderGrailsPlugin.groovy @@ -75,7 +75,7 @@ class RestResponderGrailsPlugin extends Plugin { if (!app.getArtefact(ControllerArtefactHandler.TYPE, controllerClassName)) { try { app.addArtefact(ControllerArtefactHandler.TYPE, app.classLoader.loadClass(controllerClassName)) - } catch (ClassNotFoundException cnfe) { + } catch (ClassNotFoundException ignored) { } } diff --git a/grails-shell-cli/src/main/groovy/org/grails/cli/GrailsCli.groovy b/grails-shell-cli/src/main/groovy/org/grails/cli/GrailsCli.groovy index 1d4ce96fc1..32af2027e6 100644 --- a/grails-shell-cli/src/main/groovy/org/grails/cli/GrailsCli.groovy +++ b/grails-shell-cli/src/main/groovy/org/grails/cli/GrailsCli.groovy @@ -108,11 +108,11 @@ class GrailsCli { Thread.start { currentExecutionContext?.cancel() }.join(1000) - } catch (Throwable e) { + } catch (Throwable ignored) { // ignore } } - } catch (e) { + } catch (ignored) { // ignore } } @@ -557,7 +557,7 @@ class GrailsCli { try { // add tools.jar urls.add(new File("${System.getenv('JAVA_HOME')}/lib/tools.jar").toURI().toURL()) - } catch (Throwable e) { + } catch (Throwable ignored) { // ignore } def profiles = (List<URL>) dependencyMap.get('profiles') @@ -660,7 +660,7 @@ class GrailsCli { keepRunning = false try { GradleAsyncInvoker.POOL.shutdownNow() - } catch (Throwable e) { + } catch (Throwable ignored) { // ignore } } diff --git a/grails-shell-cli/src/main/groovy/org/grails/cli/gradle/GradleAsyncInvoker.groovy b/grails-shell-cli/src/main/groovy/org/grails/cli/gradle/GradleAsyncInvoker.groovy index f4b2e7b84a..012fada81e 100644 --- a/grails-shell-cli/src/main/groovy/org/grails/cli/gradle/GradleAsyncInvoker.groovy +++ b/grails-shell-cli/src/main/groovy/org/grails/cli/gradle/GradleAsyncInvoker.groovy @@ -42,7 +42,7 @@ class GradleAsyncInvoker { POOL.shutdownNow() } }.join(1000) - } catch (Throwable e) { + } catch (Throwable ignored) { // ignore } } diff --git a/grails-shell-cli/src/main/groovy/org/grails/cli/gradle/cache/CachedGradleOperation.groovy b/grails-shell-cli/src/main/groovy/org/grails/cli/gradle/cache/CachedGradleOperation.groovy index 6a1ba0d3b2..d8afcea279 100644 --- a/grails-shell-cli/src/main/groovy/org/grails/cli/gradle/cache/CachedGradleOperation.groovy +++ b/grails-shell-cli/src/main/groovy/org/grails/cli/gradle/cache/CachedGradleOperation.groovy @@ -94,7 +94,7 @@ abstract class CachedGradleOperation<T> implements Callable<T> { depsFile.withPrintWriter { PrintWriter writer -> writeToCache(writer, data) } - } catch (Throwable e) { + } catch (Throwable ignored) { // ignore } } diff --git a/grails-shell-cli/src/main/groovy/org/grails/cli/interactive/completers/ClassNameCompleter.groovy b/grails-shell-cli/src/main/groovy/org/grails/cli/interactive/completers/ClassNameCompleter.groovy index db1e1e4efc..a11ac6f7d4 100644 --- a/grails-shell-cli/src/main/groovy/org/grails/cli/interactive/completers/ClassNameCompleter.groovy +++ b/grails-shell-cli/src/main/groovy/org/grails/cli/interactive/completers/ClassNameCompleter.groovy @@ -91,7 +91,7 @@ class ClassNameCompleter extends StringsCompleter { allStrings.addAll(strings) } setStrings(allStrings) - } catch (Throwable e) { + } catch (Throwable ignored) { // ignore } } diff --git a/grails-shell-cli/src/main/groovy/org/grails/cli/profile/ProfileRepoConfig.groovy b/grails-shell-cli/src/main/groovy/org/grails/cli/profile/ProfileRepoConfig.groovy index b51c2a1540..5a77138954 100644 --- a/grails-shell-cli/src/main/groovy/org/grails/cli/profile/ProfileRepoConfig.groovy +++ b/grails-shell-cli/src/main/groovy/org/grails/cli/profile/ProfileRepoConfig.groovy @@ -74,7 +74,7 @@ class ProfileRepoConfig { if (uri.getScheme() != null) { return repoUrl } - } catch (URISyntaxException e) { + } catch (URISyntaxException ignored) { // Not a valid URI, fall through to file conversion } diff --git a/grails-shell-cli/src/main/groovy/org/grails/cli/profile/commands/CreateAppCommand.groovy b/grails-shell-cli/src/main/groovy/org/grails/cli/profile/commands/CreateAppCommand.groovy index be68b00263..5897fd1b9f 100644 --- a/grails-shell-cli/src/main/groovy/org/grails/cli/profile/commands/CreateAppCommand.groovy +++ b/grails-shell-cli/src/main/groovy/org/grails/cli/profile/commands/CreateAppCommand.groovy @@ -778,7 +778,7 @@ class CreateAppCommand extends ArgumentCompletingCommand implements ProfileRepos private void deleteDirectory(File directory) { try { directory?.deleteDir() - } catch (Throwable t) { + } catch (Throwable ignored) { // Ignore error deleting temporal directory } } diff --git a/grails-shell-cli/src/main/groovy/org/grails/cli/profile/commands/DefaultMultiStepCommand.groovy b/grails-shell-cli/src/main/groovy/org/grails/cli/profile/commands/DefaultMultiStepCommand.groovy index 30f5d06e49..c9a4155634 100644 --- a/grails-shell-cli/src/main/groovy/org/grails/cli/profile/commands/DefaultMultiStepCommand.groovy +++ b/grails-shell-cli/src/main/groovy/org/grails/cli/profile/commands/DefaultMultiStepCommand.groovy @@ -67,7 +67,7 @@ class DefaultMultiStepCommand extends MultiStepCommand { if (completerClass) { try { this.description.completer = (Completer) Thread.currentThread().contextClassLoader.loadClass(completerClass.toString()).getDeclaredConstructor().newInstance() - } catch (e) { + } catch (ignored) { // ignore } } diff --git a/grails-shell-cli/src/main/groovy/org/grails/cli/profile/commands/templates/TemplateRendererImpl.groovy b/grails-shell-cli/src/main/groovy/org/grails/cli/profile/commands/templates/TemplateRendererImpl.groovy index 4e8a03eedc..095baa6141 100644 --- a/grails-shell-cli/src/main/groovy/org/grails/cli/profile/commands/templates/TemplateRendererImpl.groovy +++ b/grails-shell-cli/src/main/groovy/org/grails/cli/profile/commands/templates/TemplateRendererImpl.groovy @@ -199,7 +199,7 @@ class TemplateRendererImpl implements TemplateRenderer, ProfileRepositoryAware { } finally { try { reader.close() - } catch (e) { + } catch (ignored) { // ignore } } diff --git a/grails-testing-support-core/src/main/groovy/grails/testing/services/ServiceUnitTest.groovy b/grails-testing-support-core/src/main/groovy/grails/testing/services/ServiceUnitTest.groovy index 917c730505..19dcac8477 100755 --- a/grails-testing-support-core/src/main/groovy/grails/testing/services/ServiceUnitTest.groovy +++ b/grails-testing-support-core/src/main/groovy/grails/testing/services/ServiceUnitTest.groovy @@ -41,7 +41,7 @@ trait ServiceUnitTest<T> extends ParameterizedGrailsUnitTest<T> { if (!dataTestLoaded) { try { dataTest = ClassUtils.forName(DATATEST_CLASS) - } catch (ClassNotFoundException e) {} + } catch (ClassNotFoundException ignored) {} } dataTestLoaded = true } diff --git a/grails-testing-support-core/src/main/groovy/org/grails/compiler/injection/testing/IntegrationTestAstTransformation.groovy b/grails-testing-support-core/src/main/groovy/org/grails/compiler/injection/testing/IntegrationTestAstTransformation.groovy index 6034589837..cb75b84bd5 100644 --- a/grails-testing-support-core/src/main/groovy/org/grails/compiler/injection/testing/IntegrationTestAstTransformation.groovy +++ b/grails-testing-support-core/src/main/groovy/org/grails/compiler/injection/testing/IntegrationTestAstTransformation.groovy @@ -166,7 +166,7 @@ class IntegrationTestAstTransformation implements ASTTransformation, TransformWi try { servletApi = Class.forName('jakarta.servlet.ServletContext', false, getClass().classLoader) } - catch (Exception e) { + catch (Exception ignored) { // ignore } diff --git a/grails-testing-support-core/src/main/groovy/org/grails/testing/GrailsUnitTest.groovy b/grails-testing-support-core/src/main/groovy/org/grails/testing/GrailsUnitTest.groovy index 7eb236cf63..1b72ef247e 100644 --- a/grails-testing-support-core/src/main/groovy/org/grails/testing/GrailsUnitTest.groovy +++ b/grails-testing-support-core/src/main/groovy/org/grails/testing/GrailsUnitTest.groovy @@ -116,12 +116,12 @@ trait GrailsUnitTest { defineBeans(config) return } - } catch (NoSuchMethodException e) {} + } catch (NoSuchMethodException ignored) {} try { Method doWithSpringField = clazz.getMethod('getDoWithSpring') defineBeans((Closure) doWithSpringField.invoke(plugin)) - } catch (NoSuchMethodException e) {} + } catch (NoSuchMethodException ignored) {} } Closure doWithSpring() { diff --git a/grails-testing-support-web/src/main/groovy/org/grails/testing/spock/WebSetupSpecInterceptor.groovy b/grails-testing-support-web/src/main/groovy/org/grails/testing/spock/WebSetupSpecInterceptor.groovy index cf886fa46f..aedf55f4ed 100644 --- a/grails-testing-support-web/src/main/groovy/org/grails/testing/spock/WebSetupSpecInterceptor.groovy +++ b/grails-testing-support-web/src/main/groovy/org/grails/testing/spock/WebSetupSpecInterceptor.groovy @@ -116,7 +116,7 @@ class WebSetupSpecInterceptor implements IMethodInterceptor { try { Class viewResolver = classLoader.loadClass('grails.plugin.json.view.mvc.JsonViewResolver') jsonSmartViewResolver(viewResolver) - } catch (ClassNotFoundException e) { } + } catch (ClassNotFoundException ignored) { } localeResolver(SessionLocaleResolver) multipartResolver(StandardServletMultipartResolver) diff --git a/grails-views-core/src/main/groovy/grails/views/resolve/GenericGroovyTemplateResolver.groovy b/grails-views-core/src/main/groovy/grails/views/resolve/GenericGroovyTemplateResolver.groovy index c990ea0a8f..74dcfe9c31 100644 --- a/grails-views-core/src/main/groovy/grails/views/resolve/GenericGroovyTemplateResolver.groovy +++ b/grails-views-core/src/main/groovy/grails/views/resolve/GenericGroovyTemplateResolver.groovy @@ -78,7 +78,7 @@ class GenericGroovyTemplateResolver implements TemplateResolver { log.trace('Attempting to load class [{}] for template [{}]', className, path) def cls = classLoader.loadClass(className) return (Class<? extends Template>) cls - } catch (Throwable e) { + } catch (Throwable ignored) { } return null } diff --git a/grails-web-databinding/src/main/groovy/grails/web/databinding/GrailsWebDataBinder.groovy b/grails-web-databinding/src/main/groovy/grails/web/databinding/GrailsWebDataBinder.groovy index 841a33fd22..80a87452dd 100644 --- a/grails-web-databinding/src/main/groovy/grails/web/databinding/GrailsWebDataBinder.groovy +++ b/grails-web-databinding/src/main/groovy/grails/web/databinding/GrailsWebDataBinder.groovy @@ -265,7 +265,7 @@ class GrailsWebDataBinder extends SimpleDataBinder { protected getPersistentInstance(Class<?> type, id) { try { InvokerHelper.invokeStaticMethod(type, 'get', id) - } catch (Exception exc) {} + } catch (Exception ignored) {} } /** @@ -731,7 +731,7 @@ class GrailsWebDataBinder extends SimpleDataBinder { if (grailsApplication != null) { try { return grailsApplication.mappingContext.getPersistentEntity(clazz.name) - } catch (GrailsConfigurationException e) { + } catch (GrailsConfigurationException ignored) { //no-op } } diff --git a/grails-web-url-mappings/src/main/groovy/org/grails/web/mapping/DefaultLinkGenerator.groovy b/grails-web-url-mappings/src/main/groovy/org/grails/web/mapping/DefaultLinkGenerator.groovy index cb161d4177..df8551abb5 100644 --- a/grails-web-url-mappings/src/main/groovy/org/grails/web/mapping/DefaultLinkGenerator.groovy +++ b/grails-web-url-mappings/src/main/groovy/org/grails/web/mapping/DefaultLinkGenerator.groovy @@ -438,7 +438,9 @@ class DefaultLinkGenerator implements LinkGenerator, PluginManagerAware { if (str) { absolute = Boolean.parseBoolean(str) } - } catch (e) {} + } catch (e) { + log.debug('Unable to parse absolute link attribute', e) + } } } return absolute
