这些错误在程序中,我们称其为异常。 程序运行过程中,一旦出现异常将会导致程序立即终止,异常以后的代码全部都不会执行!!!...try 语句 try: 代码块(可能出现错误的语句) except 异常类型 as 异常名: 代码块(出现错误以后的处理方式...(出现错误以后的处理方式) else: 代码块(没出错时要执行的语句) finally: 代码块(该代码块总会执行...如果代码没有错误,则会正常执行, 如果出现错误,则会执行 expect 子句中的代码, 这样我们就可以通过代码来处理异常,避免因为一个异常而导致整个程序的运行终止 异常--示例代码...w 表示是可写的,使用 w 来写入文件时,如果文件不存在会创建文件,如果文件存在则会截断文件,截断文件指删除原来文件中的所有内容 # a 表示追加内容,如果文件不存在会创建文件,如果文件存在则会向文件中追加内容
①try:try块中主要放置可能会产生异常的代码块。如果执行try块里的业务逻辑代码时出现异 常,系统会自动生成一个异常对象,该异常对象被提交给运行环境,这个过程被称为抛出 (throw)异常。...Java环境收到异常对象时,会寻找合适的catch块(在本方法或是调用方 法)。...或许你会侥幸逃过一劫,或许结果将是灾难性的。每当见到空的catch块时,我们都应该 警钟长鸣。 当然也有一种情况可以忽略异常,即关闭fileinputstream(读写本地文件)的时候。...因为你还 没有改变文件的状态,因此不必执行任何恢复动作,并且已经从文件中读取到所需要的信 息,因此不必终止正在进行的操作。...当遇 到try或catch中return或throw之类可以终止当前方法的代码时,jvm会先去执行finally中的语 句,当finally中的语句执行完毕后才会返回来执行try/catch中的return
最前方的十个字符中的第一位字符就是代表的是文件类型: -:是普通文件(文本文件,源代码,可执行程序) d:目录文件 l:软链接(类似Windows的快捷方式) b:块设备文件(例如硬盘、光驱等)...也就是说,所有人都拥有对普通文件的读写权限,所有人都对目录文件拥有读写和可执行权限,但是当我们创建一个全新的文件时发现,操作系统上面显示的好像并不是这样的: 这是为什么呢?...0000时,再创建普通文件或目录时,权限就是默认权限: file 格式:file [选项] 文件或目录; 功能:辨识文件类型; 常用选项 -c 详细显示指令执行过程,便于排错或分析程序执行的情形;...0777. 2.可读权限:决定能否查看目录中的文件—如果没有该权限就不能使用ls等命令查看目录中的文件内容 3.写入权限:能否在目录中创建与删除文件 – 如果目录没有可写权限, 则无法在目录中创建文件...细心的人已经发现在other权限那一块出现了一个“t”权限,那么这个“t”代表的时什么意思呢?其实这个“t”就是粘滞位,那么为什么会存在粘滞位,它又有什么用呢?
一,从文件中读取数据 每当需要分析或修改存储在文件中的信息时,读取文件都很有用,对数据分析应用程序来说也非常重要。...未妥善关闭文件可能会导致数据丢失或受损。如果在程序中过早地调用close(),会发现需要使用文件时它已关闭,这会导致更多的错误。...如果try代码块中的代码导致了错误,Python将查找这样的except代码块,并运行其中的代码,即其中指定的错误与引发的错误相同。...8.失败时一声不吭 Python中有个pass语句,在代码块中使用它来让Python什么都不做。出现FilNotFoundError异常时,将执行except代码块中的代码,但什么都不会发生。...这种错误发生时,不会出现traceback,也没有任何输出。没有迹象表明有文件没找到。 pass语句充当占符位,用户看不到这个文件,但可以读取这个文件,进而处理所有找不到文件的问题。 ? 输出: ?
如果每次在代码提交之前都进行一次eslint代码检查,就不会因为某个字段未定义为undefined或null这样的错误而导致服务崩溃,可以有效的控制项目代码的质量。...Globals:执行代码时脚步需要访问的额外全局变量。 Rules:开启某些规则,也可以设置规则的等级。 检测规则 接下来,可以在配置文件中设置一些规则。..."block-spacing": ["error", "always"] 禁止或强制在单行代码块中使用空格(禁用)。...然后,在项目的根目录里面手动创建一个.eslintrc文件,然后在里面添加如下代码: { "extends": "standard" } 执行完以上步骤,就可以使用ESLint这个工具来校验项目里的代码...src/" 当我们再去terminal中执行命令:$ npm run lint-fix,你会发现没有那么多飘红的报错,也没有满屏的error和warning了。
Inode Table在划分组的时候大小就已经确定好了。创建文件时就需要在Inode Table中找到没有被使用过的Inode,把文件中的所有属性填充到这个Inode里面,这样文件的属性就都有了。...所以当我们在某一个目录下使用文件名查找文件时,操作系统会读取目录 data block 里面的数据,找到文件名对应的 inode 编号,找不到就提示 文件不存在。...而当我们在目录下新建文件/文件夹时,操作系统会向目录 data block 里面写入新文件与 inode 的映射关系。...这也是为什么在目录下读取文件信息需要 r 权限,在目录下新建文件需要 w 权限的原因。...二、Linux能够编写C语言的原因 那为什么我们能够在Linux中编写C语言,实际上也是同样的道理,我们发现Linux中同样存在着编写的库和相应的头文件,正是通过这些库,我们在C语言编写代码时通过#include
,让组内的成员共享文件,组外的成员则受权限限制; 2、文件类型和访问权限 我们在 Linux 中查看一个文件/目录时,文件前面通常会出现很长一串字符: 他们对应的含义如下: 第一个字符代表文件类型...: 这是因为创建文件或目录的时候除了受默认权限的约束之外,还要受到 umask (文件掩码) 的影响;假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask; 权限掩码的作用是将在其中出现的权限...可读权限:能否查看目录中的文件内容 – 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容; 可写权限:能否在目录中创建与删除文件 – 如果目录没有可写权限, 则无法在目录中创建文件..., 也无法在目录中删除文件; 所以如果我们要进入一个目录,就必须有可执行权限;这也就是为什么普通文件的默认权限是666,而目录文件的默认权限是777的原因; 注意事项 目录的可执行权限是表示你可否在目录下执行命令...,则用户可以执行命令,可以 cd 进入目录,但由于没有目录的读权限,所以在目录下即使可以执行 ls 命令,但仍然没有权限读出目录下的文档; ---- 七、粘滞位 在一个Linux系统中通常有很多用户,那么有时就会有这样一种需求
在我们的程序设计当做,任何时候任何地方因为任何原因都有可能会出现异常,在没有异常机制的时候我们是这样处理的:通过函数的返回值来判断是否发生了异常(这个返回值通常是已经约定好了的),调用该函数的程序负责检查并且分析返回值...在异常中try快包含着可能出现异常的代码块,catch块捕获异常后对异常进行处理。先看如下实例: ?...这是段非常简单的程序,用于读取D盘目录下的exceptionText.txt文件,同时读取其中的内容、输出。首先D盘没有该文件,运行程序结果如下: ?...当我们在D盘目录下新建一个exceptionTest.txt文件后,运行程序结果如下: ? 11111是该文件中的内容。...在这里可以得到如下结论:若程序中显示的声明了某个异常,则抛出异常时不会显示出处,若程序中没有显示的声明某个异常,当抛出异常时,系统会显示异常的出处。
,但是在dist目录里并没有看到文件,这是因为WDS是把编译好的文件放在缓存中,没有放在磁盘上,但是我们是可以访问到的, output.js 对应你在webpack配置文件中的输出文件,配置的是什么就访问什么...当我们在配置文件中配置了devServer.watchContentBase 为 true 的时候,Server 会监听这些配置文件夹中静态文件的变化,变化后会通知浏览器端对应用进行 live reload...例如,在开发 Web 页面过程中,当你点击按钮,出现一个弹窗的时候,发现弹窗标题没有对齐,这时候你修改 CSS 样式,然后保存,在浏览器没有刷新的前提下,标题样式发生了改变。...思考:webpack 可以将不同的模块打包成 bundle 文件或者几个 chunk 文件,但是当我通过 webpack HMR 进行开发的过程中,我并没有在我的 dist 目录中找到 webpack...模块热更新的错误处理,如果在热更新过程中出现错误,热更新将回退到刷新浏览器 面试题:说一下webpack的热更新原理?
一旦内存中的inode被修改,必须立即将修改同步到磁盘上的dinode中 ---- 代码:Inodes 为了分配新的inode(例如,在创建文件时),xv6调用ialloc(kernel/fs.c:...当我们进行link操作时,会在当前文件的父目录下创建一个新的目录项,因此如果最后一个进程unlink这个文件后,但是在iput该inode时奔溃,会导致文件已分配(bitmap还未修改...new的父目录必须存在并且与现有inode位于同一设备上:inode编号在一个磁盘上只有唯一的含义。如果出现这样的错误,sys_link必须返回并减少ip->nlink。...例如在没有事务的情况下,在创建一个链接之前更新ip->nlink会使文件系统暂时处于不安全状态,而在这两者之间发生的崩溃可能会造成严重破坏。...为什么不这样做? 实现lseek系统调用。支持lseek还需要修改filewrite,以便在lseek设置off超过f->ip->size时,用零填充文件中的空缺。
,但是在dist目录里并没有看到文件,这是因为WDS是把编译好的文件放在缓存中,没有放在磁盘上,但是我们是可以访问到的,output.js 对应你在webpack配置文件中的输出文件,配置的是什么就访问什么...当我们在配置文件中配置了devServer.watchContentBase 为 true 的时候,Server 会监听这些配置文件夹中静态文件的变化,变化后会通知浏览器端对应用进行 live reload...例如,在开发 Web 页面过程中,当你点击按钮,出现一个弹窗的时候,发现弹窗标题没有对齐,这时候你修改 CSS 样式,然后保存,在浏览器没有刷新的前提下,标题样式发生了改变。...思考:webpack 可以将不同的模块打包成 bundle 文件或者几个 chunk 文件,但是当我通过 webpack HMR 进行开发的过程中,我并没有在我的 dist 目录中找到 webpack...思考:当模块的热替换过程中,如果替换模块失败,有什么回退机制吗?模块热更新的错误处理,如果在热更新过程中出现错误,热更新将回退到刷新浏览器面试题:说一下webpack的热更新原理?
无论是风里,还是在雨里,我都在这里守候着你~ 调用自己写的模块 首先在同一目录下创建两个py文件,比如我一个名字为Demo.py一个为Test.py文件 Test.py代码: print('我是Test.py...注意:我们导入模块时,会现在本地文件中查找该模块,再去系统变量中查找也就是说如果我们将本地py文件的命名修改成上篇文章的任意一个,再去使用它就会报错。 如果我想要调用Test中的Getstr方法呢?...我们可以在Test.py文件中添加: __all__=['Getstr'] def Getstr2(): print('我是Getstr2') 此时,在Demo中调用Getstr2()就会报错,...__init__文件: 我们使用pycharm软件创建一个包时都会有一个__init__文件,当我们只导入包的时候,会执行__init__文件,和上面的一个道理也就是说我们导入包和导入模块的时候,都会有一个相当于加载事件...异常处理 #try: 可能出现错误的代码 #except:当发生错误执行的代码,可以写多个except,根据错误类型执行代码,也可以捕捉所有错误,并提示 例如: try: int
并行性是指两个或多个事件在同一时刻发生。而并发性是指连个或多个事件在同一时间间隔内发生。...这样的切换是会影响读书效率的,同样上下文切换也会影响多线程的执行速度。 创建线程的两种方式 继承Thead类: ? 继承Thread类 运行结果发现打游戏和播放音乐交替出现,说明已经成功了。...(注意:在程序中并不是使用Thread.sleep(10)之后,程序才出现问题,而是使用之后,问题更明显.) ? 吃苹果比赛中的问题 为什么会出现这样的错误呢?...先来分析第一种错误:为什么会吃重复的苹果呢?就拿B和C都吃了编号为47的苹果为例吧: ① A线程拿到了编号为48的苹果,打印输出然后让num减1,睡眠10ms,此时num为47。...为了解决访问共享资源错误或数据不一致的问题,人们引入了临界区的概念:用以访问共享资源的代码块,这个代码块在同一时间内只允许一个线程执行。
三、js 数据的外部引用 3.1 在小程序的目录中创建一个 data 目录,用来模拟服务端传过来的数据 3.2 案例实现 四、使用 templete 模板 4.1 大致步骤 4.2 template...,这样就避免出现了事件冒泡的问题 三、js 数据的外部引用 在真实的开发环境当中,小程序的数据是来自服务端的,如果我们把所有的数据都写在一个 js 文件当中,显然是不太可能的,这里采用模拟服务端的数据...,渲染到前端 3.1 在小程序的目录中创建一个 data 目录,用来模拟服务端传过来的数据 然后采用数组对象的形式,把数据全部集中起来 该文件命名为 data.js 文件 然后编写文件内容 使用 module.export...,改成 template 即可,其属性 is 设置为上一步中 name 的值,如果数据是动态绑定的,加一个 data属性,传入即可 4.2 template 实战练习使用 比如我要复用这样的代码块...把这部分的代码块单独放进一个 template 目录下的 wxml 文件中,name 设置为 postItem ,样式我就不复制了 <view
硬链接的引入 当我们在命令行中输入ll时会出现很多行信息,详情请看下面的图 ~~~~ε=ε=ε=(~ ̄▽ ̄)~ 我在之前的几篇Linux的文章也讲过哦(o゚v゚)ノ 那么问题来了~~ 什么是硬链接呢.../soft.link来运行该程序啦~~ 是不是很方便呢d=====( ̄▽ ̄*)b 我们在创建软链接的目录里输入ll时,就可以发现soft.link链接的是哪个路径啦 细心的同学就发现啦,第一行中的第一个字母和平时的文件的字母不一样哦...硬链接数 相信的小程序员们会在平时的Linux操作时会发现当我们创建一个文件夹时,前面的硬链接数为2,而普通文件时,硬链接数为1 问题: 为什么普通文件的硬链接数为1?...代表上一级路径 而我们的目录中的所有文件对该目录下的其他文件操作时,就要进行操作 ..../其他文件,所以一个目录中会有一个.代表该目录 这也就解释了为啥新建的目录的硬链接数是2啦~~ 到这里我就要问聪明的你一个问题啦*ε=ε=ε=(~ ̄▽ ̄)~ 为什么在一个目录下创建了一个新目录后
但是,实际运行结果却是这样的: 很奇怪吧?为什么每次调用foo()函数时,都会把"baz"这个默认值添加到已有的列表中,而不是重新创建一个新的空列表呢?...正是因为这样,才会出现一开始好好的代码,在某个函数内部添加了一个赋值语句之后却出现了UnboundLocalError,难怪会让许多人吃惊。 在使用列表时,Python程序员尤其容易陷入这个圈套。...常见错误7:模块之间出现循环依赖(circular dependencies) 假设你有两个文件,分别是a.py和b.py,二者相互引用,如下所示: a.py文件中的代码: b.py文件中的代码: 首先...那么回到我们的示例,当我们导入a.py模块时,它在引用b.py模块时是不会出现问题的,因为b.py模块在被引用时,并不需要访问在a.py模块中定义的任何变量或函数。...常见错误10:错误使用del方法 ---- 假设你在mod.py的文件中编写了下面的代码: 之后,你在another_mod.py文件中进行如下操作: 如果你运行another_mod.py模块的话,将会出现
负责管理一个文件最终存储到本机器的具体的一个或多个块,block1,block3,可能还有一个block2在其他机器上。 那么,当你想要查找某个文件的时候,就可以问NameNode,他在哪里?...这是一种文件系统的层级目录,目录->子目录->文件,所以我们可以创建目录,创建文件,读写文件,像我们操作文件一样。...所有的目录结构,文件和DataNode,Block的映射关系。这些会完整地存储到FsImage里面,并且FsImage是存储在磁盘文件上,持久化存储。...NameNode在内存中维护着一份元数据,所有的读写操作都是操作的内存,这样子会有很高的性能。...一般一小时一次或者EditLog大小超过64MB,就会执行一次。紧接着,又出现了了一个checkpoint Node 其实就和Secondary NameNode一样,做同样的操作。
此外,在babelrc中,我们通过是否配置@babel/preset-env控制生成满足commonjs或es6模块规范的js代码。...为什么babel编译会这样处理代码?这不得不提到babel中的@babel/preset-typescript是如何编译TS代码的: 警告!有一个震惊的消息,你可能想坐下来好好听下。...,在babel编译方案中的类型检查的tsconfig.json需要我们配置noEmit为true,表明tsc读取到了ts源代码以后,不会生成任何的文件,仅仅会进行类型检查。...当然,你也可以在IDE中手动切换: 最后,我们简单梳理下IDE是如何在对应的代码位置展示代码的类型错误,流程如下: 但是,同样是IDE中的ts类型检查也要有一定的依据。...也就是说,有可能你的IDE提示了错误,但是babel编译是没有问题。这也是很多小伙伴拿到基于babel编译的TS项目容易出现IDE有代码异常问题的UI显示,但是编译代码有没有问题的原因所在。
但是,实际运行结果却是这样的: ? 很奇怪吧?为什么每次调用foo()函数时,都会把"baz"这个默认值添加到已有的列表中,而不是重新创建一个新的空列表呢?...正是因为这样,才会出现一开始好好的代码,在某个函数内部添加了一个赋值语句之后却出现了UnboundLocalError,难怪会让许多人吃惊。 在使用列表时,Python程序员尤其容易陷入这个圈套。...常见错误5:在遍历列表时更改列表 下面这段代码的问题应该算是十分明显: ? 在遍历列表或数组的同时从中删除元素,是任何经验丰富的Python开发人员都会注意的问题。...那么回到我们的示例,当我们导入a.py模块时,它在引用b.py模块时是不会出现问题的,因为b.py模块在被引用时,并不需要访问在a.py模块中定义的任何变量或函数。...常见错误10:错误使用del方法 假设你在mod.py的文件中编写了下面的代码: ? 之后,你在another_mod.py文件中进行如下操作: ?
在异常中try快包含着可能出现异常的代码块,catch块捕获异常后对异常进行处理。先看如下实例: ?...这是段非常简单的程序,用于读取D盘目录下的exceptionText.txt文件,同时读取其中的内容、输出。首先D盘没有该文件,运行程序结果如下: ?...当我们在D盘目录下新建一个exceptionTest.txt文件后,运行程序结果如下: ? 11111是该文件中的内容。...在这里可以得到如下结论:若程序中显示的声明了某个异常,则抛出异常时不会显示出处,若程序中没有显示的声明某个异常,当抛出异常时,系统会显示异常的出处。...有些人喜欢将一大块的代码全部包含在一个try块里面,因为这样省事,反正有异常它就会抛出,而不愿意花时间来分析这个大代码块有那几块会产生异常,产生什么类型的异常,反正就是一篓子全部搞定。
领取专属 10元无门槛券
手把手带您无忧上云