精华内容
下载资源
问答
  • Java异常类型结构:ErrorError 描述了 Java 程序运行时系统内部错误,通常比较严重,除了通知用户和尽力使应用程序安全地终止之外,其它无能为力,应用程序不应该尝试去捕获这种异常,通常为一些虚拟机异常,如 ...

    Java异常类型结构:

    272c1f750bd38eb13eddd33f434c5a51.png
    • Error
      Error 描述了 Java 程序运行时系统的内部错误,通常比较严重,除了通知用户和尽力使应用程序安全地终止之外,其它无能为力,应用程序不应该尝试去捕获这种异常,通常为一些虚拟机异常,如 StackOverflowError、OutOfMemoryError 等等。
    • Exception
      Exception 类型下面又分为两个分支,一个分支派生自 RuntimeException,称为非受检查异常(UncheckedException),这种异常通常为程序错误导致的异常;另一个分支为派生自 IOException 的异常,称为受检查异常(CheckedException),这种异常通常是程序本身没有问题,由于像 I/O 错误等问题导致的异常。

    CheckedException和UncheckedException的区别:

    CheckedException会在编译时被检测,即要么使用try catch 代码块,要么在方法签名中用 throws 关键字声明该方法可能会抛出的CheckedException,否则编译无法通过。

    CheckedException是Java中一个非常糟糕的设计

    1. 它会强迫程序员编写try catch来处理,事实上当出现此类异常时大多数时候程序员也不知道该采取什么措施来处理,这就导致大部分的程序员在catch之后什么也没做,掩盖异常仅仅是为了能编译通过。
    2. 破坏向后兼容性。受检查异常可以在方法签名上标明具体错误原因,但实践中,每次在签名上增加一个新的异常,都会破坏向后兼容性。

    第二点还是次要的,最主要的是第一点,在我从事Java编程三年多接触过的实际项目中,目睹了无数的代码胡乱的的try catch,catch后又不throw,或者throw一个其它异常,又不带上原始异常,导致原始异常丢失,或者干脆啥也不做,结果埋下了无数的坑,给以后接手的人带来很多问题。

    CheckedException在Java8越来越被标准库所摒弃。Java 7的Files API 用的还是基类IOException,Java 8的Function、BiFunction等压根就不支持CheckedException。Java8标准库中还加入了UncheckedIOException用来避免CheckedException带来的问题。

    准确地讲,Java标准库中大部分的CheckedException并不应该定义为CheckedException,因为这些异常和 NullPointerException、 OutOfMemoryError 等一样,除了报错,没什么可特别处理的,也处理不了,除了强迫程序员编写try catch增加工作量之外,并没有其它更多的用处。

    例如,我们看看下面的代码,很普遍的写法,大部分人都是try catch之后一句e.printStackTrace()就完事了:

    public 

    这个InetAddress类的getAllByName方法声明了会抛出一个受检查的异常UnknownHostException,什么情况下会抛出这个异常呢?可能是传入的host有误,可能是网络出现问题,不管是哪种情况,都不是catch之后能解决的。既然不能解决,又何必要强迫程序员去try catch呢,因此这里这个UnknownHostException就不应该定义为CheckedException,但是类库既然已经设计成这样,我们也无法改变,更好的做法是这样:

    public 

    再看另外一个例子:

    public 

    这里encode方法会抛出一个UnsupportedEncodingException,这里如果出现这个异常,表明传入的编码有误,在catch里根本什么也做不了,因此强迫强迫程序员去try catch毫无意义。出现了此异常则只能修改传入的编码字段。

    如果传入了正确的编码,如UTF-8,我们知道UTF-8是所有平台的JDK都支持的编码,所以这里根本不可能出现UnsupportedEncodingException,因此这个UnsupportedEncodingException定义UncheckedException才是合理的做法。所以说在Java类库API里,有很多CheckedException我们明知道不可能发生,但还是不得不try catch一下,大大增加了代码噪声。

    总的来说,Java的CheckedException特性在工程实践中一直是很糟糕的体验,比如我写一个保存当前编辑信息到远程服务器文件的方法saveToRemoteFile,这个方法里有非常复杂的保存逻辑,可能会有n层的子方法调用,而内层的文件API调用可能会抛出各种类型的异常,比如远程文件不存在,磁盘空间不足,权限不足,网络连接异常等等。

    所有这些异常对保存逻辑来说全都没法进行处理,通常遇到这些异常内层的子方法完全不必理会,只需要在最外层的saveToRemoteFile里catch住所有的IO异常,然后清理下现场,告知下用户就可以了。整个代码干净整洁,不用担心内层的子方法忘记检查异常从而出现程序失控,同时对异常也进行了良好的处理。

    反之,有了CheckedException机制,所有内层函数都必须声明会抛出IO异常,多了很多无谓的声明代码。如果哪个新手在声明方法时忘记了声明异常,然后在写实现代码的时候又遇到了编译错误,于是根据编辑器提示加上了try catch实现以通过编译,在catch里面又什么都不做,结果就导致了忽略异常的严重逻辑错误。

    所以CheckedException通常并不能使你的代码变的更安全,反而因为繁琐的声明更容易误导程序员做出危险的操作。所以很多项目干脆直接把异常包装成RuntimeException以规避Check,将CheckedException不分青红皂白包装成RuntimeException抛出,在Java编程圈里已经是一个公开的秘密了吧。

    后来Java8 UncheckedIOException 的出现,连官方都鼓励不要CheckedException了,在大名鼎鼎的Spring框架的设计哲学中更是没有CheckedException这个东西。

    关于CheckedException的我总结了项目中最普遍的错误用法(下面的logger用的是slf4j类库)

    错误用法一:

    try 

    错误用法二:

    try 

    错误用法三:

    try 

    错误用法四:

    try 

    错误用法五:

    try 

    正确的做法:

    try 

    或者

    try 

    在catch异常之后要如何处理,一定要考虑业务上的可能性,至于是继续抛出还是打印日志后给个默认值要视业务上的要求而定。

    例如我们使用SimpleDateFormat来解析字符串到Date对象时,有这么个方法:

    public 

    另一种情况:

    /**
    

    Spring框架中如何正确处理和使用异常

    在Spring框架中,Controller和Service不处理任何异常,所有异常由ControllerAdvice统一处理,可以遵循以下实践:

    一个异常枚举类,所有异常码定义在这里:

    public 

    一个业务异常类:

    public 

    一个全局的异常处理类:

    @RestControllerAdvice
    

    其中Result类的定义:

    public 

    示例Controller类:

    @RestController
    

    示例Service类:

    @Service
    

    还有一些Java Bean和Mybatis相关类就不贴出来了。

    不管是Controller还是Service,只管抛出异常,不做任何处理,由ControllerAdvice统一处理。通过遵循这样的实践,代码变得简洁清晰,没有太多的代码嵌套,同时所有的异常都得到了妥善的处理。

    项目github地址:

    https://github.com/jufeng98/java-master.gitgithub.com
    展开全文
  • 下面是Java异常类组织结构,红色区域异常类表示是程序需要显示捕捉或者抛出。ThrowableThrowable是Java异常顶级类,所有异常都继承于这个类。Error,Exception是异常类两个大分类。ErrorError是非程序...

    下面是Java异常类的组织结构,红色区域的异常类表示是程序需要显示捕捉或者抛出的。

    baed4d110dd975aeb252a5d7ca8e360d.png

    Throwable

    Throwable是Java异常的顶级类,所有的异常都继承于这个类。

    Error,Exception是异常类的两个大分类。

    Error

    Error是非程序异常,即程序不能捕获的异常,一般是编译或者系统性的错误,如OutOfMemorry内存溢出异常等。

    Exception

    Exception是程序异常类,由程序内部产生。Exception又分为运行时异常、非运行时异常。

    运行时异常

    运行时异常的特点是Java编译器不会检查它,也就是说,当程序中可能出现这类异常,即使没有用try-catch语句捕获它,也没有用throws子句声明抛出它,也会编译通过,运行时异常可处理或者不处理。运行时异常一般常出来定义系统的自定义异常,业务根据自定义异常做出不同的处理。

    常见的运行时异常如NullPointException、ArrayIndexOutOfBoundsException等。

    非运行时异常

    非运行时异常是程序必须进行处理的异常,捕获或者抛出,如果不处理程序就不能编译通过。如常见的IOException、ClassNotFoundException等。

    更多Java好文请关注Java技术栈微信公众号,在公众号后台回复关键字:java,以下仅为部分预览。

    • 出场率比较高的一道多线程安全面试题
    • Java类初始化顺序,大神3个示例带你躺坑
    • switch case 支持的 6 种数据类型!
    • 面试常考:Synchronized 有几种用法?
    • Hashtable 为什么不叫 HashTable?

    本文原创首发于微信公众号:Java技术栈(id:javastack),转载请原样保留本信息。

    展开全文
  • try-catch的用法

    2015-12-13 15:06:13
    首先我声明下try-catch与if区别: 异常捕抓 与 结构分支 在 try  { //...}  catch(Exception $e)  { //...} PHP中try{}catch{}是异常处理. 将要执行代码放入TRY块中,如果这些代码...

    首先我声明下try-catch与if的区别:

    异常捕抓 与 结构分支


    try 
    { //...} 
    catch(Exception $e) 
    { //...}

    PHP中try{}catch{}是异常处理.

    将要执行的代码放入TRY块中,如果这些代码执行过程中某一条语句发生异常,则程序直接跳转到CATCH块中,由$e收集错误信息和显示.

    PHP中try{}catch{}语句

    为了进一步处理异常,我们需要使用PHP中try{}catch{}----包括Try语句和至少一个的catch语句。任何调用 可能抛出异常的方法的代码都应该使用try语句。Catch语句用来处理可能抛出的异常。以下显示了我们处理getCommandObject()抛出的异常的方法:

    1. < ?php   
    2. try {   
    3. $mgr = new CommandManager();   
    4. $cmd = $mgr->getCommandObject("realcommand");   
    5. $cmd->execute();   
    6. } catch (Exception $e) {   
    7. print $e->getMessage();   
    8. exit();   
    9. }   
    10. ?>   

    可以看到,通过结合使用throw关键字和PHP中try{}catch{},我们可以避免错误标记“污染”类方法返回的值。因为“异常”本身就是一种与其它任何对象不同的PHP内建的类型,不会产生混淆。

    如果抛出了一个异常,try语句中的脚本将会停止执行,然后马上转向执行catch语句中的脚本。

    如果异常抛出了却没有被捕捉到,就会产生一个fatal error。

    展开全文
  • 为了区分这三种不同的非谓语动词的用法和含义,我们将分别从三种非谓语动词在句子中做主语、宾语、宾语补足语、定语、状语、表语以及一些特殊结构句型等角度来区分其用法和细微含义。1.不定式和动名词作主语的区别...
    c13286f6791cfd7b8e3133c8d5e048ad.png

    非谓语动词用法分析说明:

    非谓语动词主要包括不定式动名词现在分词

    为了区分这三种不同的非谓语动词的用法和含义,

    我们将分别从三种非谓语动词在句子中做主语、宾语、宾语补足语、定语、状语、表语以及一些特殊结构句型等角度来区分其用法和细微含义。

    1.不定式和动名词作主语的区别

    (1)动名词作主语通常表示抽象动作;而不定式作主语表示具体动作

    Smoking is prohibited(禁止)here.这里禁止抽烟。(抽象)

    It is not very good for you to smoke so much.你抽这么多烟对你身体很不好。(具体)

    (2)动名词作主语时,通常用以表示一件已知的事或经验。

    不定式短语通常用来表示一件未完成的事或目的。

    Climbing mountains is interesting.爬山很有趣。(经验)

    Driving a car during the rush hour is tiring.在高峰时刻开车令人厌烦。(经验)

    (3)不定式做主语,一般用it当形式主语,把作主语的不定式短语后置。

    It took me only five minutes to finish the job.

    2.不定式、动名词和分词作表语的区别

    (1)不定式作表语

    不定式作表语一般表示具体动作,特别是表示将来的动作。

    To do two things at a time is to do neither.--次做两件事等于未做。

    What I would suggest is to start work at once.我的建议是立刻开始干。

    如果主语是不定式(表示条件),表语也是不定式(表示结果)To see is to believe.百闻不如一见。

    To work means to earn a living.工作就是为了生活。

    如果主语是以aim, duty, hope, idea, happiness, job, plan, problem, purpose, thing, wish等为中心的名词,或以what引导的名词性从句,不定式作表语是对主语起补充说明作用。

    His wish is to buy a luxurious car in the near future.他的希望是在不远的将来买一辆豪华轿车。

    The function of Louis Sullivan's architecture was to provide large uninterrupted floor areas and to allow ample light into the interior.

    The most important thing is to negotiate with them about the future of the plant.

    (2)动名词作表语

    动名词作表语,表示抽象的一般性的行为。

    Our work is serving the people.我们的工作是为人民服务。

    His hobby is collecting stamps.他的爱好是集邮。

    注:动名词作表语时与进行时态中的现在分词形式相同,但其所属结构迥异,进行时态说明动作是由主语完成的。动名词做表语,说明主语的性质或情况。

    People cannot but feel puzzled, for they simply cannot understand how he could have made such a stupid mistake.

    His victory in the final was no more convincing than I had expected.

    (3)分词作表语

    分词做表语有两种情况,一种是现在分词做表语,一种是过去分词做表语。

    这两者区别是考试中经常考到的地方。一般来说,表示心理状态的动词如excite, interest等都是及物动词,汉语意思不是“激动”,“高兴”,而是“使激动”、“使高兴”,

    因而现在分词应该是“令人激动的”、“令人高兴的”,过去分词则是“感到激动的”和“感到高兴的”。所以,凡表示“令人……的”都是-ing形式,凡是表示“感到……”都用-ed形式。

    换句话说,若人对……感兴趣,就是somebody is interested in...,若人/物本身有兴趣时,就是说sb./sth. is interesting.

    这类词常见的有:

    interesting使人感到高兴--interested感到高兴的

    exciting令人激动的--excited感到激动的

    delighting令人高兴的--delighted感到高兴的

    disappointing令人失望的--disappointed感到失望的

    encouraging令人鼓舞的--encouraged感到鼓舞的

    pleasing令人愉快的--pleased感到愉快的

    puzzling令人费解的--puzzled感到费解的

    satisfying令人满意的---satisfied感到满意的

    surprising令人惊异的--surprised感到惊异的

    worrying令人担心的--worried感到担心的

    Travelling is interesting but tiring.旅行是有趣的,但是使人疲劳。

    The pupils will get confused if they are made to learn too much.如果要学生学得太多,他们会感到糊涂的。

    The argument is very convincing.他的论点很令人信服。

    They were very excited at the news.听到这个消息,他们非常激动。

    (4)不定式和动名词作宾语的区别

    大多数动词既可跟不定式,也可跟动名词作直接宾语,但有些动词要求:

    (1)不定式做宾语和宾语补足语

    1)下面的动词要求不定式做宾语

    attempt企图 enable能够 neglect忽视

    afford负担得起 demand要求 long渴望

    arrange安排 destine注定 mean意欲,打算

    begin开始 expect期望 omit忽略,漏

    appear似乎,显得 determine决定 manage设法

    cease停止 hate憎恨,厌恶 pretend假装

    ask问 dread害怕 need需要

    agree同意 desire愿望 love爱

    swear宣誓 volunteer志愿 wish希望

    bear承受 endeavor努力 offer提供

    beg请求 fail不能 plan计划

    bother扰乱;烦恼 forget忘记 prefer喜欢,宁愿

    care关心,喜欢 happen碰巧 prepare准备

    decide决定 learn学习 regret抱歉,遗憾

    choose选择 hesitate犹豫 profess表明

    claim要求 hope希望 promise承诺,允许

    start开始 undertake承接 want想要

    consent同意,赞同 intend想要 refuse拒绝

    decide决定 learn学习 vow起

    contrive设法,图谋 incline有…倾向 propose提议

    seek找,寻觅 try试图

    2)下面的动词要求不定式做宾补:动词+宾语+动词不定式

    ask要求,邀请 get请,得到 prompt促使

    allow允许 forbid禁止 prefer喜欢,宁愿

    announce宣布 force强迫 press迫使

    bride 收买 inspire鼓舞 request请求

    assist协助 hate憎恶 pronounce断定,表示

    advise劝告 exhort告诫,勉励 pray请求

    authorize授权,委托 help帮助 recommend劝告,推荐

    bear容忍 implore恳求 remind提醒

    beg请求 induce引诱 report报告

    compel强迫 invite吸引,邀请, summon传唤

    command命令 intend想要,企图 show 显示

    drive驱赶 mean意欲,打算 train训练

    cause引起 instruct指示 require要求

    deserve应受 leave使,让 tell告诉

    direct指导 like喜欢 tempt劝诱

    entitle有资格 order命令 warn告诫

    enable使能够 need需要 urge激励,力说

    encourage鼓励 oblige不得不 want想要

    condemn指责,谴责 lead引起,使得 teach教

    entreat恳求 permit允许 wish希望

    奇速英语暑假网络互动直播课程11月报班9.5折,两科连报8.5折,并送十讲突破核心语法视频,详情请咨询qq:2835745855或者3234190098

    来不及的不是时间,而是行动,心动就马上行动,当你还在犹豫的时候,先报名的童鞋已经甩你很远了。

    英语学习:非谓语动词十大实用解题原则

    非谓语动词主要包括to do, -ing和-ed三种形式,可是其用法非常广泛,它不仅是高考单项选择题测试的一个重点,而且也是完形填空、阅读理解、短文改错的重要考查内容。为了能更好地掌握非谓语动词的用法,笔者在教学实践中总结出十条实用的解题原则,并且还用相关的题目来解释这些原则。根据这些原则,相信同学们可以轻松地应对非谓语动词。

    原则一、两个句子必须要用连词连接,如果没有连词连接,则需要用非谓语动词

    例1. _________ many times, but he still couldn’t understand it.

    A. Having been told B. Having told C. He had been told D. Though he had been told

    例2._________ many times, he still couldn’t understand it.

    A. Having been told B. Having told C. He had been told D. Though he had told

    解析:例1中有连词but连接,表明前后都是句子,所以答案为C。

    例2中后面是一个句子,而且没有连词,所以前面不是句子,应该用非谓语动词,根据句意此处为被动,所以答案为A。

    原则二、不及物动词无-ed形式非谓语动词,及物动词有宾语时用-ing形式,无宾语时用-ed形式

    例3. ____________ in the mountains for a week, the two students were finally saved by the local police.

    A. Having lost B. Lost C. Being lost D. Losing

    解析:lose为及物动词,现在后面没有宾语,所以用-ed形式,答案为B。

    例4. __________, I really believe that I’d prefer not to make any change now.

    A. Considered all the possibilities B. Taking all the possibilities into consideration

    C. Taken all the possibilities into consideration D. Giving all the possibilities

    解析:把。。。考虑进来结构为take sth into consideration,现在take后面有宾语all the possibilities,所以用-ing形式,答案为B。

    原则三、being done 表示“正在被”,一般不作状语,只作定语。非谓语动词的完成时形式to have done或having done强调该动作发生在句子谓语动词之前

    例5. __ to reach them on the phone, we sent an email instead.

    A. Fail B. Failed C. To fail D. Having failed

    解析:根据句意“我们没有打通电话,就给他们发了个邮件”,没有打通电话应该发生在发邮件之前,所以用having done,答案为D。

    例6. Tim Bemers-Lee is generally considered _____ the World Wide Web, on which all the information is shared by all.

    A. to have founded B. having founded C. founding D. to found

    解析:根据句意,Tim Bemers-Lee创立万维网应该是过去的事情,而且be considered后面应该用动词不定式,所以应该用to have done,答案为A。

    原则四、非谓语动词作定语时,表示将来用-to do,表正在进行用-ing,表示已经完成用-ed

    例7. The play_____ next month aims mainly to reflect the local culture.

    A.produced B.being produced

    C.to be produced D.having been produced

    解析:根据本题中的时间状语next month,可知the play将要于下月被创作出来,表将来应该用to do,所以答案为C。

    例8.The trees _____ in the storm have been moved off the road.

    A. being blown down B. blown down C. blowing down D. to blow down

    解析:根据句意“被暴风雨刮倒的树已经从路上移走了”,树被刮倒是过去已经完成的动作,表已经完成用-ed形式,所以答案为B。

    原则五、介词后跟-ing形式,可以在-ing前加逻辑主语

    例9. The discovery of new evidence led to ______________.

    A. the thief having been caught B. the thief to be caught

    C. catch the thief D. the thief being caught

    解析:本题led to中的to是介词,后面应该用-ing形式,the thief作-ing的逻辑主语,所以答案为D。

    例10. At the beginning of class, the noise of desks ____ could be heard outside the classroom.

    A. opened and closed B. to be opened and closed

    C. being opened and closed D. to open and close

    解析:本题the noise of中的of是介词,后面应该用-ing形式,desks作-ing的逻辑主语,所以答案为C。

    原则六、-ing形式或to do可作主语或宾语,-ed形式则不可以

    例11. ___________ in a heavy traffic jam is quite an unpleasant experience.

    A. Caught B. Having caught C. Being caught D. To catch

    解析:本题中is为系动词,前面应该作主语,用-ing形式,所以答案为C。

    例12 ___twice a year, whether it is a car or a bus or a truck, is the rule that every driver must obey in this city.

    A. Examining B. Examined C. Being examined D. Having been examined

    解析:本题中is为系动词,前面应该作主语,用-ing形式,所以答案为C。

    原则七、be+-ed+介词结构常可把be去掉保留-ed+介词做状语

    例13Michael’s new house is like a huge palace, ______with his old one.

    A. comparing B. compares C. to compare D. compared

    解析:“和。。。相比较”结构为be compared with,现在做句子的状语,所以只保留非谓语动词,把动词be去掉,答案为D。

    例14 _______ with a difficult situation, Arnold decided to ask his boss for advice.

    A. To face B. Having faced C. Faced D. Facing

    解析:“面对”结构为be faced with, 现在做句子的状语,所以只保留非谓语动词,把动词be去掉,答案为C。

    原则八、非谓语动词作状语,其逻辑主语必须和句子主语保持一致,和句子主语构成主谓关系时用-ing形式,构成动宾关系是用-ed形式。其逻辑主语和句子主语不一致时,要在非谓语动词前加逻辑主语,构成独立主格结构

    例15. ____ twice, the postman refused to deliver our letters unless we changed our dog.

    A. Being bitten B. Bitten C. Having bitten D. To be bitten

    解析:本题考查非谓语动词作状语,其逻辑主语应和句子主语the postman一致,the postman应该是被咬,所以答案为B。

    例16._______ in the fields on a March afternoon, he could feel the warmth of spring.

    A. To walk. B. Walking C. Walked D. Having walked

    解析:本题考查非谓语动词作状语,其逻辑主语应和句子主语he一致, he 和walk应该是主动关系,所以答案为B。

    例17. While watching television, __________.

    A. the doorbell rang B. the doorbell rings

    C. we heard the doorbell ring D. we heard the doorbell rings

    解析:根据“非谓语动词作状语,其逻辑主语必须和句子主语保持一致”的原则,watching的逻辑主语应和后面句子主语一致,所以句子主语应为“we”,答案为C。

    例18. The children went home from the grammar school, their lessons ____ for the day.

    A. finishing B. finished C. had finished D. were finished

    解析:本题没有连词,所以后面应用非谓语动词,the lessons是非谓语动词的逻辑主语,和非谓语动词构成独立主格结构。根据句意应是“被完成”,所以答案为B。

    原则九、不定式做状语一般有两种:目的状语和出乎意料的结果状语(表示顺其自然的结果用-ing形式)。另外,某些形容词(表喜、怒、哀、乐)做表语后跟不定式可以表示原因

    例19._____, you need to give all you have and try your best.奇速英语公众微信号qisuen

    A Being a winner B To be a winner C Be a winner D Having been a winner

    解析:根据句意“要想成为获胜者,你要付出所有,尽最大努力”,此处表目的,所以答案为B。

    例20. The news reporters hurried to the airport, only _______ the film stars had left.

    A. to tell B. to be told C. telling D. told

    解析:本句句意为“记者们匆匆赶到机场,却被告知明星们已经走了”,表出乎意料的结果常常用only to do,所以答案为B。

    例21. The glass doors have taken the place of the wooden ones at the entrance, ________ in the natural light during the day.

    A. to let B. letting C. let D. having let

    解析:本题句意为“玻璃门替换了木头门,自然光就进来了”,自然光进来时顺其自然的结果,所以用doing, 答案为B。

    例22.How glad I am ___________ you!

    A. seeing B. to see C. saw D. having seen

    解析: 本题是I am glad to see you 的感叹句形式,to see you 是原因状语,答案为B。

    原则十、 非谓语动词的否定原则是在非谓语动词前加not,有not to do, not doing, not having done, not to have done几种形式

    例23______that he was in great danger, Eric walked deeper into the forest.

    A. Not realized B. Not to realize C. Not realizing D. Not to have realized

    解析: 本题考查doing的否定形式not doing,答案为 C。

    例24. What worried him most was ______ to visit his sick child.

    A. his being not allowed B. his not being allowed

    C. his not allowing D. having not been allowed

    解析:本题考查being done的否定形式not being done; his 为not being done的逻辑主语,所以答

    案为B。

    例25. Sarah has decided ________ away on holiday this summer.

    A. don’t go B. to not go C. not going D. not to go

    解析:本题考查to do的否定形式not to do, 所以答案为D。

    非谓语动词包括动词不定式,动词的过去分词和动词的-ing形式三种。这是高考中的热点,其考查量多、面广,几乎是必考的一个知识点。近六年高考复现率达百分之百。纵观试题,其考查重点为动词非谓语形式的作用及功能相同的非谓语动词之间的区别。学生对此知识也“知之半解”,深感头疼。请看下面的方法,将有助于记住不定式及动名词。

    1、动词的不定式

    ①不定式有标记, to与动词连一起。

    ②没有人称数变化, 动词特点它具备。

    ③主宾定状表补语, 唯独作谓不可以。

    ④not 加上不定式, 否定结构要牢记。

    ⑤疑问词与不定式, 构成短语有意义。

    ⑥仔细推敲多思考, 准确判断有依据。

    解析:

    ①“to+动词原形”是它的基本构成形式,即不定式的标记。

    ②它没有人称和数的变化,不管主语是任何人称,单数还是复数,动词不定式都没有变化。但它仍保留动词的特点,可以有自己的宾语或状语。

    ③它具有名词、形容词和副词三大特点,所以,它在句中可以作主语、宾语、定语、表语、状语和宾补。

    ④“not +动词不定式”是它的否定形式,不要受其他否定式的影响,要记住规律。

    ⑤疑问代词what, who, whom, which和疑问副词where, when, why , how加上不定式在句中可以做主语,宾语、表语、状语。

    ⑥通过以上分析,只要仔细研究,把不定式的功能用法搞清楚,在应用时就能作出准确的判断。

    2、动名词:

    哪些动词后面只能接动名词,下面的顺口溜有助于记忆。

    喜欢、考虑不可免(enjoy, consider, escape, avoid)

    停止,放弃太冒险(stop, give up , risk)

    反对想象莫推延(mine, imagine, delay, put off)

    要求完成是期望(require, finish, look forward to.)

    建议继续勤*练(suggest, go on, practise)

    不禁原谅要坚持(can’t help, excuse , insist on)

    继续注意使成功(keep on, mind, succeed in)

    内容来自网络,仅供学习参考,如侵权联系删除。

    ae3a470dec672ebb241c8a37910eb9fd.png
    展开全文
  • JAVA try和finally的用法

    2013-08-16 10:15:08
    一个try-finally结构,只要try块开始执行了,finally块里面代码保证执行一次并且只有一次。  打个比方,就象你上厕所,只要你一旦开始拉了,我们保证无论如何,是拉稀了也好,放屁了也罢,最终你肯定是擦了屁股...
  • try-catch-finally的用法

    2020-10-28 16:42:38
    try-catch-finally结构是Java提供来处理异常结构大致如下: try{ //代码执行区域 }catch(Exception e){ //异常处理区域 }finally{ //无论如何都会执行代码区域 } 1、执行顺序 在Java程序中,有两种异常...
  • Java-try finally没有catch的用法

    千次阅读 2018-08-09 09:40:57
    JDK并发工具包中,很多异常处理都使用了如下的结构,如AbstractExecutorService,即只有try和finally没有catch。 class X { private final ReentrantLock lock = new ReentrantLock(); // ... public void m...
  • 直接在try和catch之间填充需要捕获异常代码,之后如果有异常直接走catch分支,进行异常捕获。 如:  try{ //需要捕获异常代码 } catch (Exception e) { System.out.println(e.getMessage()); } 解释...
  • 用法(执行顺序)一、都没有 return 情况二、只有try中有return情况三、try、catch中有return情况四、try、catch、finally中都有return情况 try…catch…finally…用法(执行顺序) 在java中,有两种异常...
  • try-catch基础用法

    2017-08-07 11:00:43
    一:使用try catch场合  如果不使用这种try结构时,代码报错退出就无法继续执行。有代码出错就应该退出,有出错尚可以补救,就不应该退出。对于这种出错不应该退出就需要使用这种结构,在catch中进行...
  • 为了区分这三种不同的非谓语动词的用法和含义,我们将分别从三种非谓语动词在句子中做主语、宾语、宾语补足语、定语、状语、表语以及一些特殊结构句型等角度来区分其用法和细微含义。1.不定式和动名词作主语的区别...
  • MATLAB: try-catch-end用法

    万次阅读 2016-12-04 15:46:14
    MATLAB: try-catch-end用法try-end结构用于运行可能出错代码。try % 尝试执行语句E end % 如果E运行出错,跳过并从这里开始运行try-catch-end结构try % 尝试执行语句E catch % 如果E运行错误, % 执行...
  • try,except使用判断异常,try后面语句发生异常就执行except后语句,而if,else则只是选择结构。print是输出,return是函数返回某个对象或值,两码事。Python 对异常与错误处理策略,用 try...except如果确...
  • 全面try-catch-finally外加throw的用法

    千次阅读 2012-11-26 15:46:24
    二、基本结构:异常处理通常用try……catch……finally关键字来定义代码块。 try {  //有可能出现异常代码; } catch() {  //对异常处理代码; } finally {  //执行必要清理操作,以释放资源...
  • 语法:Try{可能出现异常区域} catch(Exception e){异常提示,可以不写} … (catch可以有多个) finally{资源清理,JDBC/IO}(可以不写) 异常结构: Exception,Error是Throwable子类 注:Exception:一般...
  • 要了解try、catch、finally的用法,首先了解什么是异常。 异常就是代码出现了问题,不同寻常的意思。 java语言把程序运行过程中所发生的不正常严重错误成为异常。 异常的结构: 异常也是有子类父类之分的。Throwable...
  • **matlab中 try、catch、end用法**

    千次阅读 2018-10-26 10:28:13
    1、try…end 结构 try A B end C 说明:尝试运行一段也许可能出错代码。 A语句正确,顺序执行A、B、C; A语句错误,A、B不执行,执行C。 2、try…catch…end 结构 try A catch B end C 说明:尝试检查错误。 A...
  • golangpanic用法

    2020-01-19 16:29:19
    Go语言追求简洁优雅,所以,Go语言不支持传统 try…catch…finally 这种异常,因为Go语言设计者们认为,将异常与控制结构混在一起会很容易使得代码变得混乱。因为开发者很容易滥用异常,甚至一个小小错误都抛...
  • 这些结构有着自己的用法,但是要特别小心保守的予以运用。就像是网站The Old New Thing首页标题上面的说的那样: “代码通常被读的次数原因超过了被写的次数,所以计划要遵循此道。” 在下面将介绍一些很少有人...
  • Java中try-catch-finally 结构如下 try{ //代码区(可能会出现异常) } catch(Exception e){ //异常处理 } finally{ //不论在try代码块中是否发生了异常事件,catch语句是否执 //行,catch语句是否有异常,catch...
  • 捕获是的结构try catch finally finally 代码块中代码是一定会执行(无论以前代码是怎样:已经在前面代码中有return finally中代码还是会执行)注意在强制性退出情况下finally 中代码也不会...
  • 上下文管理器 顾名思义,上下文管理器就是管理上下文。实现代码块执行前准备,代码快执行后收拾。 应用场景:管理各种系统资源(文件、锁定、连接)时,如果出现...之前采用try/finally语句来解决此类问题,Pyth...
  • Finally子句的用法

    千次阅读 2004-07-21 10:33:00
    Finally子句的用法 与其它模型语言相比,finally关键字是对Java异常处理模型的最佳补充。Finally结构使代码总会执行,而不管有无异常发生。 Java虚拟机在每个try语句块和与其相关的catch子句的结尾处都会调用finally...
  • Java中return用法的再深入

    千次阅读 2018-05-16 23:05:22
    return语句在顺序结构的用法 结束该方法,继续执行方法后的语句。return在try-catch-finally语句中的使用public class TestFinal { public static void main(String[] args) { System.out.println("test...
  • 使用c++异常时,包含对象编译不过,百思不解。补一补关于异常知识   代码: void func( ) { ... CString strTest;...结构化异常无法解析C++ 对象  __try{  ...  }  __except(...){  
  • Java中日期的用法和通话时间计算

    千次阅读 2017-03-19 21:52:32
    本文是软件测试一次实验整理出一些关键点: 1.日期获得和验证日期合法性: SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");...此处用try-catch结构接收输入信息,当输入
  • 不能在结构中定义析构函数。只能对类使用析构函数。 一个类只能有一个析构函数。 无法继承或重载析构函数。 无法调用析构函数。它们是被自动调用。 析构函数既没有修饰符,也没有参数。 例如,下面是类 Car 析构...
  • 湖南省涟源市私立行知中学 曾省...试图结构为:attempt to do sth 相当于try to do sth/ seek to do sth[考例]1. He ____ to escape from the prison, but he couldn’t find anybody to help him.A. succeeded B. a...
  • 结构,(不要求那么复杂!)代码:try{DirectoryEntry entry = new DirectoryEntry("NWCOMPAT://192.168.0.205/MYTEST");//始终都是这个地方出现异常?请问,怎么解决?DirectorySearcher mySearcher = new ...

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 210
精华内容 84
关键字:

try的用法结构