class Exception {}

放入 $! 变量(或 CATCH 块中的 $_)的所有异常都继承自 Exception。当您使用非异常参数调用 diefail 时,它会被包装到 X::AdHoc 对象中,该对象也继承自 Exception

用户定义的异常类也应该继承自 Exception,并至少定义一个 message 方法。

class X::YourApp::SomeError is Exception {
    method message() {
        "A YourApp-Specific error occurred: out of coffee!";
    }
}

方法§

方法 message§

method message(Exception:D: --> Str:D)

这是一个存根,必须由子类覆盖,并且应该返回异常消息。

应特别注意,此方法本身不会产生异常。

try die "Something bad happened";
if ($!{
    say $!.message# OUTPUT: «Something bad happened.␤» 
}

方法 backtrace§

method backtrace(Exception:D:)

Backtrace 对象中返回与异常关联的回溯,如果没有回溯,则返回空字符串。仅对已抛出至少一次的异常有意义。

try die "Something bad happened";
with $! { .backtrace.print ; }

方法 throw§

method throw(Exception:D:)

抛出异常。

my $exception = X::AdHoc.new;    # Totally fine 
try $exception.throw;            # Throws 
if ($!{ #`( some handling ) }# Suppress the exception

方法 resume§

method resume(Exception:D:)

CATCH 块中处理时,从 .throw 离开的位置恢复控制流。

# For example, resume control flow for any exception 
CATCH { default { .resume } }

方法 rethrow§

method rethrow(Exception:D:)

重新抛出已抛出至少一次的异常。这与 throw 不同,因为它保留了原始回溯。

sub f() { die 'Bad' };
sub g() { fCATCH { default { .rethrow } } };
g;
CATCH { default { say .backtrace.full } };

例程 fail§

multi  fail(Exception $e)
method fail(Exception:D:)

退出调用 Routine 并返回一个 Failure 对象,该对象包装异常。

# A custom exception defined 
class ForbiddenWord is Exception {
    has Str $.word;
    method message { "This word is forbidden: «$!word»" }
}
 
sub say-word ( $word ) {
    ForbiddenWord.new(:word($word)).fail if $word eq 'foo';
    $word.say;
}
 
my $result = say-word("foo");
say $result.exception;

例程形式以相同的方式工作,采用替代语法:fail ForbiddenWord.new(:word($word))

方法 gist§

multi method gist(Exception:D:)

返回异常打印机应为此异常生成的内容。默认实现返回消息和回溯,以换行符分隔。

my $e = X::AdHoc.new(payload => "This exception is pretty bad");
try $e.throw;
if ($!{ say $!.gist};
# OUTPUT: «This exception is pretty bad 
#   in block <unit> at <unknown file> line 1␤»

方法 Failure§

method Failure(Exception:D: --> Failure:D)

自 Rakudo 编译器的 2022.06 版本起可用。

Exception 强制转换为 Failure 对象。

例程 die§

multi  die()
multi  die(*@message)
multi  die(Exception:D $e)
method die(Exception:D:)

抛出致命 Exception。默认异常处理程序将列表的每个元素打印到 $*ERR(STDERR)。

die "Important reason";

如果未带参数调用子例程形式,则检查 $! 变量 的值。如果将其设置为 .DEFINITE 值,则其值将用作要抛出的 Exception(如果其类型为 Exception),否则,将其用作 X::AdHoc 异常的有效负载。如果 $! 不是 .DEFINITE,则将抛出有效负载为字符串 "Died"X::AdHoc

die 默认情况下将打印其发生的行号

die "Dead";
# OUTPUT: «(exit code 1) Dead␤ 
# in block <unit> at /tmp/dead.raku line 1␤␤» 

但是,该默认行为由 Exception 级别控制,因此可以通过使用 CATCH 捕获异常将其更改为我们想要的任何内容。例如,这可用于禁止行号。

CATCH {
  default {
    .payload.say
  }
};
die "Dead" # OUTPUT: «Dead␤» 

子例程 warn§

multi warn(*@message)

抛出一个可恢复的警告异常,该异常被视为控制异常,因此对于大多数正常异常处理程序而言是不可见的。最外层的控制处理程序会将警告打印到 $*ERR。在打印警告后,异常将在抛出处恢复。要覆盖此行为,请在 CONTROL 块中捕获异常。quietly {...} 块与 try {...} 块相反,因为它将禁止任何警告,但会通过致命异常。

要简单地打印到 $*ERR,请使用 notewarn 应保留在威胁情况下使用,而此时您不太想抛出异常。

warn "Warning message";

类型图§

Exception 的类型关系
raku-type-graph 中文 X::Control 中文 X::Control Exception 中文 Exception X::Control->Exception 中文 X::AdHoc 中文 X::AdHoc X::AdHoc->Exception 中文 X::Comp 中文 X::Comp X::Comp->Exception 中文 X::Anon::Augment 中文 X::Anon::Augment X::Anon::Augment->X::Comp 中文 X::Anon::Augment->Exception 中文 X::Anon::Multi 中文 X::Anon::Multi X::Anon::Multi->X::Comp 中文 X::Anon::Multi->Exception 中文 X::Assignment::RO 中文 X::Assignment::RO X::Assignment::RO->Exception 中文 X::Attribute::NoPackage 中文 X::Attribute::NoPackage X::Attribute::NoPackage->X::Comp 中文 X::Attribute::NoPackage->Exception 中文 X::Attribute::Package 中文 X::Attribute::Package X::Attribute::Package->X::Comp 中文 X::Attribute::Package->Exception 中文 X::Attribute::Required 中文 X::Attribute::Required X::Attribute::Required->Exception 中文 Any 中文 Any X::Attribute::Required->Any 中文 MOP 中文 MOP X::Attribute::Required->MOP 中文 X::Undeclared 中文 X::Undeclared X::Undeclared->X::Comp 中文 X::Undeclared->Exception 中文 X::Attribute::Undeclared 中文 X::Attribute::Undeclared X::Attribute::Undeclared->X::Undeclared 中文 X::Augment::NoSuchType 中文 X::Augment::NoSuchType X::Augment::NoSuchType->X::Comp 中文 X::Augment::NoSuchType->Exception 中文 X::Syntax 中文 X::Syntax X::Syntax->X::Comp 中文 X::Syntax->Exception 中文 X::Backslash::NonVariableDollar 中文 X::Backslash::NonVariableDollar X::Backslash::NonVariableDollar->X::Syntax 中文 X::Backslash::NonVariableDollar->Exception 中文 X::Backslash::NonVariableDollar->Exception 中文 X::Backslash::UnrecognizedSequence 中文 X::Backslash::UnrecognizedSequence X::Backslash::UnrecognizedSequence->X::Syntax 中文 X::Backslash::UnrecognizedSequence->Exception 中文 X::Backslash::UnrecognizedSequence->Exception 中文 X::Bind 中文 X::Bind X::Bind->Exception 中文 X::Bind::NativeType 中文 X::Bind::NativeType X::Bind::NativeType->X::Comp 中文 X::Bind::NativeType->Exception 中文 X::Bind::Slice 中文 X::Bind::Slice X::Bind::Slice->Exception 中文 X::Bind::ZenSlice 中文 X::Bind::ZenSlice X::Bind::ZenSlice->X::Bind::Slice 中文 X::Buf::AsStr 中文 X::Buf::AsStr X::Buf::AsStr->Exception 中文 X::Buf::Pack 中文 X::Buf::Pack X::Buf::Pack->Exception 中文 X::Buf::Pack::NonASCII 中文 X::Buf::Pack::NonASCII X::Buf::Pack::NonASCII->Exception 中文 X::Caller::NotDynamic 中文 X::Caller::NotDynamic X::Caller::NotDynamic->Exception 中文 X::Cannot::Empty 中文 X::Cannot::Empty X::Cannot::Empty->Exception 中文 X::Cannot::Lazy 中文 X::Cannot::Lazy X::Cannot::Lazy->Exception 中文 X::Channel::ReceiveOnClosed 中文 X::Channel::ReceiveOnClosed X::Channel::ReceiveOnClosed->Exception 中文 X::Channel::SendOnClosed 中文 X::Channel::SendOnClosed X::Channel::SendOnClosed->Exception 中文 X::Comp::AdHoc 中文 X::Comp::AdHoc X::Comp::AdHoc->X::AdHoc 中文 X::Comp::AdHoc->X::Comp 中文 X::Comp::AdHoc->Exception 中文 X::Comp::Group 中文 X::Comp::Group X::Comp::Group->Exception 中文 X::NYI 中文 X::NYI X::NYI->Exception 中文 X::Comp::NYI 中文 X::Comp::NYI X::Comp::NYI->X::Comp 中文 X::Comp::NYI->X::NYI 中文 X::Comp::NYI->Exception 中文 X::Trait::NotOnNative 中文 X::Trait::NotOnNative X::Trait::NotOnNative->Exception 中文 X::Comp::Trait::NotOnNative 中文 X::Comp::Trait::NotOnNative X::Comp::Trait::NotOnNative->X::Comp 中文 X::Comp::Trait::NotOnNative->X::Trait::NotOnNative 中文 X::Comp::Trait::NotOnNative->Exception 中文 X::Trait::Scope 中文 X::Trait::Scope X::Trait::Scope->Exception 中文 X::Comp::Trait::Scope 中文 X::Comp::Trait::Scope X::Comp::Trait::Scope->X::Comp 中文 X::Comp::Trait::Scope->X::Trait::Scope 中文 X::Comp::Trait::Scope->Exception 中文 X::Trait::Unknown 中文 X::Trait::Unknown X::Trait::Unknown->Exception 中文 X::Comp::Trait::Unknown 中文 X::Comp::Trait::Unknown X::Comp::Trait::Unknown->X::Comp 中文 X::Comp::Trait::Unknown->X::Trait::Unknown 中文 X::Comp::Trait::Unknown->Exception 中文 X::Composition::NotComposable 中文 X::Composition::NotComposable X::Composition::NotComposable->Exception 中文 X::Constructor::Positional 中文 X::Constructor::Positional X::Constructor::Positional->Exception 中文 X::ControlFlow 中文 X::ControlFlow X::ControlFlow->Exception 中文 X::ControlFlow::Return 中文 X::ControlFlow::Return X::ControlFlow::Return->X::ControlFlow 中文 X::Temporal 中文 X::Temporal X::Temporal->Exception 中文 X::DateTime::InvalidDeltaUnit 中文 X::DateTime::InvalidDeltaUnit X::DateTime::InvalidDeltaUnit->X::Temporal 中文 X::DateTime::InvalidDeltaUnit->Exception 中文 X::DateTime::TimezoneClash 中文 X::DateTime::TimezoneClash X::DateTime::TimezoneClash->X::Temporal 中文 X::DateTime::TimezoneClash->Exception 中文 X::Declaration::Scope 中文 X::Declaration::Scope X::Declaration::Scope->X::Comp 中文 X::Declaration::Scope->Exception 中文 X::Declaration::Scope::Multi 中文 X::Declaration::Scope::Multi X::Declaration::Scope::Multi->X::Declaration::Scope 中文 X::Does::TypeObject 中文 X::Does::TypeObject X::Does::TypeObject->Exception 中文 X::Dynamic::NotFound 中文 X::Dynamic::NotFound X::Dynamic::NotFound->Exception 中文 X::EXPORTHOW::Conflict 中文 X::EXPORTHOW::Conflict X::EXPORTHOW::Conflict->X::Comp 中文 X::EXPORTHOW::Conflict->Exception 中文 X::EXPORTHOW::InvalidDirective 中文 X::EXPORTHOW::InvalidDirective X::EXPORTHOW::InvalidDirective->X::Comp 中文 X::EXPORTHOW::InvalidDirective->Exception 中文 X::EXPORTHOW::NothingToSupersede 中文 X::EXPORTHOW::NothingToSupersede X::EXPORTHOW::NothingToSupersede->X::Comp 中文 X::EXPORTHOW::NothingToSupersede->Exception 中文 X::Eval::NoSuchLang 中文 X::Eval::NoSuchLang X::Eval::NoSuchLang->Exception 中文 X::Export::NameClash 中文 X::Export::NameClash X::Export::NameClash->Exception 中文 X::Hash::Store::OddNumber 中文 X::Hash::Store::OddNumber X::Hash::Store::OddNumber->Exception 中文 X::HyperOp::NonDWIM 中文 X::HyperOp::NonDWIM X::HyperOp::NonDWIM->Exception 中文 X::OS 中文 X::OS X::OS->Exception 中文 X::IO 中文 X::IO X::IO->X::OS 中文 X::IO->Exception 中文 X::IO::Chdir 中文 X::IO::Chdir X::IO::Chdir->X::IO 中文 X::IO::Chdir->Exception 中文 X::IO::Chdir->Exception 中文 X::IO::Chdir->Exception 中文 X::IO::Chmod 中文 X::IO::Chmod X::IO::Chmod->X::IO 中文 X::IO::Chmod->Exception 中文 X::IO::Chmod->Exception 中文 X::IO::Chmod->Exception 中文 X::IO::Copy 中文 X::IO::Copy X::IO::Copy->X::IO 中文 X::IO::Copy->Exception 中文 X::IO::Copy->Exception 中文 X::IO::Copy->Exception 中文 X::IO::Cwd 中文 X::IO::Cwd X::IO::Cwd->X::IO 中文 X::IO::Cwd->Exception 中文 X::IO::Cwd->Exception 中文 X::IO::Dir 中文 X::IO::Dir X::IO::Dir->X::IO 中文 X::IO::Dir->Exception 中文 X::IO::Dir->Exception 中文 X::IO::DoesNotExist 中文 X::IO::DoesNotExist X::IO::DoesNotExist->X::IO 中文 X::IO::DoesNotExist->Exception 中文 X::IO::DoesNotExist->Exception 中文 X::IO::Link 中文 X::IO::Link X::IO::Link->X::IO 中文 X::IO::Link->Exception 中文 X::IO::Link->Exception 中文 X::IO::Mkdir 中文 X::IO::Mkdir X::IO::Mkdir->X::IO 中文 X::IO::Mkdir->Exception 中文 X::IO::Mkdir->Exception 中文 X::IO::Move 中文 X::IO::Move X::IO::Move->X::IO 中文 X::IO::Move->Exception 中文 X::IO::Move->Exception 中文 X::IO::Rename 中文 X::IO::Rename X::IO::Rename->X::IO 中文 X::IO::Rename->Exception 中文 X::IO::Rename->Exception 中文 X::IO::Rmdir 中文 X::IO::Rmdir X::IO::Rmdir->X::IO 中文 X::IO::Rmdir->Exception 中文 X::IO::Rmdir->Exception 中文 X::IO::Symlink 中文 X::IO::Symlink X::IO::Symlink->X::IO 中文 X::IO::Symlink->Exception 中文 X::IO::Symlink->Exception 中文 X::IO::Unlink 中文 X::IO::Unlink X::IO::Unlink->X::IO 中文 X::IO::Unlink->Exception 中文 X::IO::Unlink->Exception 中文 X::IO::Unlink->Exception 中文 X::Import::MissingSymbols 中文 X::Import::MissingSymbols X::Import::MissingSymbols->Exception 中文 X::Import::OnlystarProto 中文 X::Import::OnlystarProto X::Import::OnlystarProto->X::Comp 中文 X::Import::OnlystarProto->Exception 中文 X::Import::Redeclaration 中文 X::Import::Redeclaration X::Import::Redeclaration->X::Comp 中文 X::Import::Redeclaration->Exception 中文 X::Inheritance::NotComposed 中文 X::Inheritance::NotComposed X::Inheritance::NotComposed->Exception 中文 X::Inheritance::Unsupported 中文 X::Inheritance::Unsupported X::Inheritance::Unsupported->Exception 中文 X::Localizer::NoContainer 中文 X::Localizer::NoContainer X::Localizer::NoContainer->Exception 中文 X::Method::InvalidQualifier 中文 X::Method::InvalidQualifier X::Method::InvalidQualifier->Exception 中文 X::Method::NotFound 中文 X::Method::NotFound X::Method::NotFound->Exception 中文 X::Method::Private::Permission 中文 X::Method::Private::Permission X::Method::Private::Permission->X::Comp 中文 X::Method::Private::Permission->Exception 中文 X::Method::Private::Unqualified 中文 X::Method::Private::Unqualified X::Method::Private::Unqualified->X::Comp 中文 X::Method::Private::Unqualified->Exception 中文 X::Mixin::NotComposable 中文 X::Mixin::NotComposable X::Mixin::NotComposable->Exception 中文 X::NoDispatcher 中文 X::NoDispatcher X::NoDispatcher->Exception 中文 X::Numeric::CannotConvert 中文 X::Numeric::CannotConvert X::Numeric::CannotConvert->Exception 中文 X::Numeric::Real 中文 X::Numeric::Real X::Numeric::Real->X::Numeric::CannotConvert 中文 X::Obsolete 中文 X::Obsolete X::Obsolete->X::Comp 中文 X::Obsolete->Exception 中文 X::OutOfRange 中文 X::OutOfRange X::OutOfRange->Exception 中文 X::Package::Stubbed 中文 X::Package::Stubbed X::Package::Stubbed->X::Comp 中文 X::Package::Stubbed->Exception 中文 X::Parameter::Default 中文 X::Parameter::Default X::Parameter::Default->X::Comp 中文 X::Parameter::Default->Exception 中文 X::Parameter::InvalidType 中文 X::Parameter::InvalidType X::Parameter::InvalidType->X::Comp 中文 X::Parameter::InvalidType->Exception 中文 X::Parameter::MultipleTypeConstraints 中文 X::Parameter::MultipleTypeConstraints X::Parameter::MultipleTypeConstraints->X::Comp 中文 X::Parameter::MultipleTypeConstraints->Exception 中文 X::Parameter::Placeholder 中文 X::Parameter::Placeholder X::Parameter::Placeholder->X::Comp 中文 X::Parameter::Placeholder->Exception 中文 X::Parameter::Twigil 中文 X::Parameter::Twigil X::Parameter::Twigil->X::Comp 中文 X::Parameter::Twigil->Exception 中文 X::Parameter::WrongOrder 中文 X::Parameter::WrongOrder X::Parameter::WrongOrder->X::Comp 中文 X::Parameter::WrongOrder->Exception 中文 X::Phaser::Multiple 中文 X::Phaser::Multiple X::Phaser::Multiple->X::Comp 中文 X::Phaser::Multiple->Exception 中文 X::Phaser::PrePost 中文 X::Phaser::PrePost X::Phaser::PrePost->Exception 中文 X::Placeholder::Block 中文 X::Placeholder::Block X::Placeholder::Block->X::Comp 中文 X::Placeholder::Block->Exception 中文 X::Placeholder::Mainline 中文 X::Placeholder::Mainline X::Placeholder::Mainline->X::Placeholder::Block 中文 X::Placeholder::NonPlaceholder 中文 X::Placeholder::NonPlaceholder X::Placeholder::NonPlaceholder->X::Comp 中文 X::Placeholder::NonPlaceholder->Exception 中文 X::Pod 中文 X::Pod X::PoisonedAlias 中文 X::PoisonedAlias X::PoisonedAlias->X::Comp 中文 X::PoisonedAlias->Exception 中文 X::Proc::Async 中文 X::Proc::Async X::Proc::Async->Exception 中文 X::Proc::Async::AlreadyStarted 中文 X::Proc::Async::AlreadyStarted X::Proc::Async::AlreadyStarted->X::Proc::Async 中文 X::Proc::Async::AlreadyStarted->Exception 中文 X::Proc::Async::BindOrUse 中文 X::Proc::Async::BindOrUse X::Proc::Async::BindOrUse->X::Proc::Async 中文 X::Proc::Async::BindOrUse->Exception 中文 X::Proc::Async::CharsOrBytes 中文 X::Proc::Async::CharsOrBytes X::Proc::Async::CharsOrBytes->X::Proc::Async 中文 X::Proc::Async::CharsOrBytes->Exception 中文 X::Proc::Async::MustBeStarted 中文 X::Proc::Async::MustBeStarted X::Proc::Async::MustBeStarted->X::Proc::Async 中文 X::Proc::Async::MustBeStarted->Exception 中文 X::Proc::Async::OpenForWriting 中文 X::Proc::Async::OpenForWriting X::Proc::Async::OpenForWriting->X::Proc::Async 中文 X::Proc::Async::OpenForWriting->Exception 中文 X::Proc::Async::TapBeforeSpawn 中文 X::Proc::Async::TapBeforeSpawn X::Proc::Async::TapBeforeSpawn->X::Proc::Async 中文 X::Proc::Async::TapBeforeSpawn->Exception 中文 X::Proc::Unsuccessful 中文 X::Proc::Unsuccessful X::Proc::Unsuccessful->Exception 中文 X::Promise::CauseOnlyValidOnBroken 中文 X::Promise::CauseOnlyValidOnBroken X::Promise::CauseOnlyValidOnBroken->Exception 中文 X::Promise::Vowed 中文 X::Promise::Vowed X::Promise::Vowed->Exception 中文 X::PseudoPackage::InDeclaration 中文 X::PseudoPackage::InDeclaration X::PseudoPackage::InDeclaration->X::Comp 中文 X::PseudoPackage::InDeclaration->Exception 中文 X::Redeclaration 中文 X::Redeclaration X::Redeclaration->X::Comp 中文 X::Redeclaration->Exception 中文 X::Redeclaration::Outer 中文 X::Redeclaration::Outer X::Redeclaration::Outer->X::Comp 中文 X::Redeclaration::Outer->Exception 中文 X::Role::Initialization 中文 X::Role::Initialization X::Role::Initialization->Exception 中文 X::Routine::Unwrap 中文 X::Routine::Unwrap X::Routine::Unwrap->Exception 中文 X::Scheduler::CueInNaNSeconds 中文 X::Scheduler::CueInNaNSeconds X::Scheduler::CueInNaNSeconds->Exception 中文 X::Seq::Consumed 中文 X::Seq::Consumed X::Seq::Consumed->Exception 中文 X::Sequence::Deduction 中文 X::Sequence::Deduction X::Sequence::Deduction->Exception 中文 X::Set::Coerce 中文 X::Set::Coerce X::Set::Coerce->Exception 中文 X::Signature::NameClash 中文 X::Signature::NameClash X::Signature::NameClash->X::Comp 中文 X::Signature::NameClash->Exception 中文 X::Signature::Placeholder 中文 X::Signature::Placeholder X::Signature::Placeholder->X::Comp 中文 X::Signature::Placeholder->Exception 中文 X::Str::Match::x 中文 X::Str::Match::x X::Str::Match::x->Exception 中文 X::Str::Numeric 中文 X::Str::Numeric X::Str::Numeric->Exception 中文 X::Str::Trans::IllegalKey 中文 X::Str::Trans::IllegalKey X::Str::Trans::IllegalKey->Exception 中文 X::Str::Trans::InvalidArg 中文 X::Str::Trans::InvalidArg X::Str::Trans::InvalidArg->Exception 中文 X::StubCode 中文 X::StubCode X::StubCode->Exception 中文 X::Syntax::AddCategorical::TooFewParts 中文 X::Syntax::AddCategorical::TooFewParts X::Syntax::AddCategorical::TooFewParts->X::Syntax 中文 X::Syntax::AddCategorical::TooFewParts->Exception 中文 X::Syntax::AddCategorical::TooFewParts->Exception 中文 X::Syntax::AddCategorical::TooManyParts 中文 X::Syntax::AddCategorical::TooManyParts X::Syntax::AddCategorical::TooManyParts->X::Syntax 中文 X::Syntax::AddCategorical::TooManyParts->Exception 中文 X::Syntax::AddCategorical::TooManyParts->Exception 中文 X::Syntax::Argument::MOPMacro 中文 X::Syntax::Argument::MOPMacro X::Syntax::Argument::MOPMacro->X::Syntax 中文 X::Syntax::Argument::MOPMacro->Exception 中文 X::Syntax::Argument::MOPMacro->Exception 中文 X::Syntax::Augment::Illegal 中文 X::Syntax::Augment::Illegal X::Syntax::Augment::Illegal->X::Syntax 中文 X::Syntax::Augment::Illegal->Exception 中文 X::Syntax::Augment::Illegal->Exception 中文 X::Syntax::Augment::WithoutMonkeyTyping 中文 X::Syntax::Augment::WithoutMonkeyTyping X::Syntax::Augment::WithoutMonkeyTyping->X::Syntax 中文 X::Syntax::Augment::WithoutMonkeyTyping->Exception 中文 X::Syntax::Augment::WithoutMonkeyTyping->Exception 中文 X::Syntax::BlockGobbled 中文 X::Syntax::BlockGobbled X::Syntax::BlockGobbled->X::Syntax 中文 X::Syntax::BlockGobbled->Exception 中文 X::Syntax::CannotMeta 中文 X::Syntax::CannotMeta X::Syntax::CannotMeta->X::Syntax 中文 X::Syntax::CannotMeta->Exception 中文 X::Syntax::CannotMeta->Exception 中文 X::Syntax::Comment::Embedded 中文 X::Syntax::Comment::Embedded X::Syntax::Comment::Embedded->X::Syntax 中文 X::Syntax::Comment::Embedded->Exception 中文 X::Syntax::Comment::Embedded->Exception 中文 X::Syntax::Confused 中文 X::Syntax::Confused X::Syntax::Confused->X::Syntax 中文 X::Syntax::Confused->Exception 中文 X::Syntax::Confused->Exception 中文 X::Syntax::Extension::Category 中文 X::Syntax::Extension::Category X::Syntax::Extension::Category->X::Syntax 中文 X::Syntax::Extension::Category->Exception 中文 X::Syntax::Extension::Category->Exception 中文 X::Syntax::Extension::Null 中文 X::Syntax::Extension::Null X::Syntax::Extension::Null->X::Syntax 中文 X::Syntax::Extension::Null->Exception 中文 X::Syntax::InfixInTermPosition 中文 X::Syntax::InfixInTermPosition X::Syntax::InfixInTermPosition->X::Syntax 中文 X::Syntax::InfixInTermPosition->Exception 中文 X::Syntax::InfixInTermPosition->Exception 中文 X::Syntax::KeywordAsFunction 中文 X::Syntax::KeywordAsFunction X::Syntax::KeywordAsFunction->X::Syntax 中文 X::Syntax::KeywordAsFunction->Exception 中文 X::Syntax::KeywordAsFunction->Exception 中文 X::Syntax::Malformed 中文 X::Syntax::Malformed X::Syntax::Malformed->X::Syntax 中文 X::Syntax::Malformed->Exception 中文 X::Syntax::Malformed::Elsif 中文 X::Syntax::Malformed::Elsif X::Syntax::Malformed::Elsif->X::Syntax 中文 X::Syntax::Malformed::Elsif->Exception 中文 X::Syntax::Missing 中文 X::Syntax::Missing X::Syntax::Missing->X::Syntax 中文 X::Syntax::Missing->Exception 中文 X::Syntax::Missing->Exception 中文 X::Syntax::Name::Null 中文 X::Syntax::Name::Null X::Syntax::Name::Null->X::Syntax 中文 X::Syntax::Name::Null->Exception 中文 X::Syntax::NegatedPair 中文 X::Syntax::NegatedPair X::Syntax::NegatedPair->X::Syntax 中文 X::Syntax::NegatedPair->Exception 中文 X::Syntax::NegatedPair->Exception 中文 X::Syntax::NoSelf 中文 X::Syntax::NoSelf X::Syntax::NoSelf->X::Syntax 中文 X::Syntax::NoSelf->Exception 中文 X::Syntax::NoSelf->Exception 中文 X::Syntax::NonAssociative 中文 X::Syntax::NonAssociative X::Syntax::NonAssociative->X::Syntax 中文 X::Syntax::NonAssociative->Exception 中文 X::Syntax::NonAssociative->Exception 中文 X::Syntax::Number::RadixOutOfRange 中文 X::Syntax::Number::RadixOutOfRange X::Syntax::Number::RadixOutOfRange->X::Syntax 中文 X::Syntax::Number::RadixOutOfRange->Exception 中文 X::Syntax::P5 中文 X::Syntax::P5 X::Syntax::P5->X::Syntax 中文 X::Syntax::P5->Exception 中文 X::Syntax::Perl5Var 中文 X::Syntax::Perl5Var X::Syntax::Perl5Var->X::Syntax 中文 X::Syntax::Perl5Var->Exception 中文 X::Syntax::Perl5Var->Exception 中文 X::Syntax::Pod::BeginWithoutEnd 中文 X::Syntax::Pod::BeginWithoutEnd X::Syntax::Pod::BeginWithoutEnd->X::Syntax 中文 X::Syntax::Pod::BeginWithoutEnd->X::Pod 中文 X::Syntax::Pod::BeginWithoutEnd->Exception 中文 X::Syntax::Pod::BeginWithoutEnd->Exception 中文 X::Syntax::Pod::BeginWithoutIdentifier 中文 X::Syntax::Pod::BeginWithoutIdentifier X::Syntax::Pod::BeginWithoutIdentifier->X::Syntax 中文 X::Syntax::Pod::BeginWithoutIdentifier->X::Pod 中文 X::Syntax::Pod::BeginWithoutIdentifier->Exception 中文 X::Syntax::Pod::BeginWithoutIdentifier->Exception 中文 X::Syntax::Regex::Adverb 中文 X::Syntax::Regex::Adverb X::Syntax::Regex::Adverb->X::Syntax 中文 X::Syntax::Regex::Adverb->Exception 中文 X::Syntax::Regex::Adverb->Exception 中文 X::Syntax::Regex::MalformedRange 中文 X::Syntax::Regex::MalformedRange X::Syntax::Regex::MalformedRange->X::Syntax 中文 X::Syntax::Regex::MalformedRange->Exception 中文 X::Syntax::Regex::NullRegex 中文 X::Syntax::Regex::NullRegex X::Syntax::Regex::NullRegex->X::Syntax 中文 X::Syntax::Regex::NullRegex->Exception 中文 X::Syntax::Regex::NullRegex->Exception 中文 X::Syntax::Regex::SolitaryQuantifier 中文 X::Syntax::Regex::SolitaryQuantifier X::Syntax::Regex::SolitaryQuantifier->X::Syntax 中文 X::Syntax::Regex::SolitaryQuantifier->Exception 中文 X::Syntax::Regex::SolitaryQuantifier->Exception 中文 X::Syntax::Regex::SpacesInBareRange 中文 X::Syntax::Regex::SpacesInBareRange X::Syntax::Regex::SpacesInBareRange->X::Syntax 中文 X::Syntax::Regex::SpacesInBareRange->Exception 中文 X::Syntax::Regex::SpacesInBareRange->Exception 中文 X::Syntax::Regex::UnrecognizedMetachar 中文 X::Syntax::Regex::UnrecognizedMetachar X::Syntax::Regex::UnrecognizedMetachar->X::Syntax 中文 X::Syntax::Regex::UnrecognizedMetachar->Exception 中文 X::Syntax::Regex::UnrecognizedMetachar->Exception 中文 X::Syntax::Regex::Unspace 中文 X::Syntax::Regex::Unspace X::Syntax::Regex::Unspace->X::Syntax 中文 X::Syntax::Regex::Unspace->Exception 中文 X::Syntax::Regex::Unspace->Exception 中文 X::Syntax::Regex::Unterminated 中文 X::Syntax::Regex::Unterminated X::Syntax::Regex::Unterminated->X::Syntax 中文 X::Syntax::Regex::Unterminated->Exception 中文 X::Syntax::Regex::Unterminated->Exception 中文 X::Syntax::Reserved 中文 X::Syntax::Reserved X::Syntax::Reserved->X::Syntax 中文 X::Syntax::Reserved->Exception 中文 X::Syntax::Reserved->Exception 中文 X::Syntax::Self::WithoutObject 中文 X::Syntax::Self::WithoutObject X::Syntax::Self::WithoutObject->X::Syntax 中文 X::Syntax::Self::WithoutObject->Exception 中文 X::Syntax::Signature::InvocantMarker 中文 X::Syntax::Signature::InvocantMarker X::Syntax::Signature::InvocantMarker->X::Syntax 中文 X::Syntax::Signature::InvocantMarker->Exception 中文 X::Syntax::Term::MissingInitializer 中文 X::Syntax::Term::MissingInitializer X::Syntax::Term::MissingInitializer->X::Syntax 中文 X::Syntax::Term::MissingInitializer->Exception 中文 X::Syntax::Term::MissingInitializer->Exception 中文 X::Syntax::UnlessElse 中文 X::Syntax::UnlessElse X::Syntax::UnlessElse->X::Syntax 中文 X::Syntax::UnlessElse->Exception 中文 X::Syntax::UnlessElse->Exception 中文 X::Syntax::Variable::IndirectDeclaration 中文 X::Syntax::Variable::IndirectDeclaration X::Syntax::Variable::IndirectDeclaration->X::Syntax 中文 X::Syntax::Variable::IndirectDeclaration->Exception 中文 X::Syntax::Variable::IndirectDeclaration->Exception 中文 X::Syntax::Variable::Match 中文 X::Syntax::Variable::Match X::Syntax::Variable::Match->X::Syntax 中文 X::Syntax::Variable::Match->Exception 中文 X::Syntax::Variable::Match->Exception 中文 X::Syntax::Variable::Numeric 中文 X::Syntax::Variable::Numeric X::Syntax::Variable::Numeric->X::Syntax 中文 X::Syntax::Variable::Numeric->Exception 中文 X::Syntax::Variable::Numeric->Exception 中文 X::Syntax::Variable::Twigil 中文 X::Syntax::Variable::Twigil X::Syntax::Variable::Twigil->X::Syntax 中文 X::Syntax::Variable::Twigil->Exception 中文 X::Syntax::Variable::Twigil->Exception 中文 X::Syntax::VirtualCall 中文 X::Syntax::VirtualCall X::Syntax::VirtualCall->X::Syntax 中文 X::Syntax::VirtualCall->Exception 中文 X::Syntax::VirtualCall->Exception 中文 X::Temporal::InvalidFormat 中文 X::Temporal::InvalidFormat X::Temporal::InvalidFormat->X::Temporal 中文 X::Temporal::InvalidFormat->Exception 中文 X::TypeCheck 中文 X::TypeCheck X::TypeCheck->Exception 中文 X::TypeCheck::Assignment 中文 X::TypeCheck::Assignment X::TypeCheck::Assignment->X::TypeCheck 中文 X::TypeCheck::Binding 中文 X::TypeCheck::Binding X::TypeCheck::Binding->X::TypeCheck 中文 X::TypeCheck::Return 中文 X::TypeCheck::Return X::TypeCheck::Return->X::TypeCheck 中文 X::TypeCheck::Splice 中文 X::TypeCheck::Splice X::TypeCheck::Splice->X::TypeCheck 中文 X::Undeclared::Symbols 中文 X::Undeclared::Symbols X::Undeclared::Symbols->X::Comp 中文 X::Undeclared::Symbols->Exception 中文 X::Value::Dynamic 中文 X::Value::Dynamic X::Value::Dynamic->X::Comp 中文 X::Value::Dynamic->Exception 中文 Exception->Any 中文 Mu 中文 Mu Any->Mu 中文

展开上面的图表