如何检查是不是存在自定义文化

Posted

技术标签:

【中文标题】如何检查是不是存在自定义文化【英文标题】:How to check if custom culture exists如何检查是否存在自定义文化 【发布时间】:2021-09-08 10:30:34 【问题描述】:

我创建了一种自定义文化,即“gh-es”。我正在尝试检查它是否已经注册。如果文化已注册,它工作正常,但如果没有,它只会在启动时抛出错误。

我无法找到如何检查文化是否存在或检查其是否存在

  $CustomCulture= [cultureinfo]::GetCultureInfo('gh-es')
    If($CustomCulture -ne null)
       
          Write-output "culture already registered"
         
     Else
          
             $CultureName = 'gh-es' 
                  $BaseCulture=[cultureinfo]::GetCultureInfo('es-US') 
    $BaseRegion = New-Object System.Globalization.RegionInfo 'es-US' 
try 

# Set up CultureAndRegionInfoBuilder 
Add-Type -AssemblyName sysglobl
        
$CultureBuilder = New-Object System.Globalization.CultureAndRegionInfoBuilder 
          @($CultureName,[System.Globalization.CultureAndRegionModifiers]::None) $CultureBuilder.LoadDataFromCultureInfo($BaseCulture)
             $CultureBuilder.LoadDataFromRegionInfo($BaseRegion)
             $CultureBuilder.Register()
                      
                    catch
                     
                     throw
                     
                

【问题讨论】:

[1] 请在问题中发布您的代码 - 包含在格式标记中。 ///// [2] 请在问题中发布您的完整错误文本 - 包含在格式标记中。 ///// [3]你看过try/catch处理错误的结构吗? 我已经添加了相同的代码,如果文化没有注册,我在第一行本身就会出错 @ShianJA 你忘了回答 Lee_Dailey 的第三个问题。 是的,我用过,但是如果我们只是检查一个值是否存在,为什么要使用 try @ShianJA - 请查看我的答案,了解使用错误处理来处理文化检查的示例。 【参考方案1】:

这就是我在检查文化时使用try/catch 处理错误的意思...

try 
    [cultureinfo]::GetCultureInfo('666-santa')
    
    catch
    
    'something glitched'
    

输出 = something glitched

没有try/catch,输出是错误消息...

Exception calling "GetCultureInfo" with "1" argument(s): "Culture is not supported.
Parameter name: name
666-santa is an invalid culture identifier."
At line:1 char:1
+ [cultureinfo]::GetCultureInfo('666-santa')
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : CultureNotFoundException

【讨论】:

以上是关于如何检查是不是存在自定义文化的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Next.js 检查自定义服务器中是不是存在页面

查看网页中是不是存在字符串后如何重定向到自定义网页

检查自定义类列表中是不是存在变量[重复]

检查下载中的自定义文件夹中是不是存在文件 - 不推荐使用 getExternalStoragePublicDirectory

如何检查所选帐户是不是有我的自定义令牌?

淘汰赛自定义验证:如何检查 observable 是不是等于特定值?