说我有以下内容
try{
//something
}catch(Exception generic){
//catch all
}catch(SpecificException se){
//catch specific exception only
}
Run Code Online (Sandbox Code Playgroud)
遇到SpecificException会发生什么?它首先将它作为通用异常捕获,然后捕获特定的异常吗?
或者它只捕获SpecificException而忽略通用异常.
我不希望捕获泛型和特殊化的异常.
duf*_*ymo 23
这不会编译.您将被告知无法访问特定的异常块.
您必须首先拥有更具体的异常catch块,然后是常规异常.
try
{
//something
}
catch(SpecificException se)
{
//catch specific exception only
}
catch(Exception generic)
{
//catch all
}
Run Code Online (Sandbox Code Playgroud)
Mic*_*rdt 11
不会.所有例外情况都会被第一个区块捕获.永远不会达到第二个(编译器识别,导致由于无法访问的代码而导致错误).如果你想SpecificException特别对待,你必须反过来做:
}catch(SpecificException se){
//catch specific exception only
}catch(Exception generic){
//catch all
}
Run Code Online (Sandbox Code Playgroud)
然后SpecificException将被第一个块捕获,而所有其他块将被第二个块捕获.
| 归档时间: |
|
| 查看次数: |
12417 次 |
| 最近记录: |